2011-01-24 3 views
1

MessageBox에 유효성 검사 오류 메시지를 표시하려고합니다. 4 개의 TextBox와 One Button 컨트롤이 있습니다. Button 컨트롤을 클릭하면 MessageBox에 텍스트가 표시되지 않고 TextBox가 표시됩니다. 나는 거의 이것을했지만 문제는 Button을 클릭하면 MessageBox가 최소화 된 윈도우로 열린다는 것입니다. 따라서 최종 사용자가 깨닫기가 어렵습니다. 버튼 클릭시 사용자에게 MessageBox를 표시하려고합니다. 여기 ASP.NET 웹 응용 프로그램에서 Windows.Form.MessageBox를 표시하는 방법은 무엇입니까?

은 버튼에서 당신은 ASP.NET 응용 프로그램에서 윈도우 메시지 박스를 사용할 수 없습니다 이벤트

ErrorMsg=""; 

if (TextBox1.Text == "") 
{ 
    ErrorMsg += "Name is required!"; 
    ErrorMsg += "\n"; 
} 
if (TextBox2.Text == "") 
{ 
    ErrorMsg += "Address is required!"; 
    ErrorMsg += "\n"; 
} 
if (TextBox3.Text == "") 
{ 
    ErrorMsg += "Phone No. is required!"; 
    ErrorMsg += "\n"; 
} 
if (TextBox4.Text == "") 
{ 
    ErrorMsg += "City is required!"; 
    ErrorMsg += "\n"; 
} 
if (ErrorMsg.Length == 0) 
{ 
    //Some Code 
} 
else 
{ 
    MessageBox.Show(ErrorMsg, "Existing Address", MessageBoxButtons.OK, MessageBoxIcon.Error); 
} 

미리 감사드립니다 ...

답변

5

을 클릭, 내 코드입니다. 그것은 단지 이해가되지 않습니다. ASP.NET은 HTML/javascript/CSS를 사용하므로 뭔가 잘못되었다는 것을 사용자에게 알리는 데 사용해야합니다. 유효성 검사를 수행 할

ScriptManager.RegisterStartupScript(this, GetType(), "error", "alert('oops');", true); 

다른 더 종래 기술 : 그래서 ASP.NET 응용 프로그램에서 예를 들어, 당신은 페이지가로드 될 때 실행하고 alert 기능을 사용하는 페이지에 자바 스크립트를 삽입하는 RegisterStartupScript 방법을 사용할 수 있습니다 ASP.NET 응용 프로그램은 validation controls을 사용합니다.

+0

지금까지 유효성 검사 컨트롤을 사용했습니다. 하지만 사용자가 MessageBox로 표시하도록 요청했습니다. – thevan

+0

@ thevan, 그러면 ASP.NET과 WinForms가 똑같지 않다는 것과 ASP.NET 응용 프로그램이 서버에서 실행될 때 그가 묻는 것은 이해가 가지 않는다고 설명해야합니다. 흥미로운 * 기대를 가진 클라이언트가있는 것 같아서이 설명과 함께 행운을 빕니다 :-) –

+2

나는 사용자가 원하는 것은 MessageBox가 아니라 사용자 경험에서부터 차이점을 알지 못하는 경고입니다. 그들은 그들과 다르지 않다는 관점을 가지고 있습니다. –

0

private void MessageBoxShow(Page page, string message) 
{ 
    Literal ltr = new Literal(); 
    ltr.Text = @"<script type='text/javascript'> alert('" + message + "') </script>"; 
    page.Controls.Add(ltr); 
} 

같은 함수를 만들고

MessageBoxShow(this,message); 

처럼 어떤에서 .aspx 페이지에서 호출 중요한 것은 당신의 UserControl을 사용하는 경우, 다음에 함수 매개 변수 페이지를 변경해야한다 UserControl.

+0

'Controls.Add()'대신'RegisterClientScriptBlock()'을 사용하십시오 – abatishchev

+0

@abatishchev 실제로 asp.net은별로 좋지 않습니다. 나는 그것을 사용하여 나에게 잘하기 때문에 나는 이것을 게시했다 :) 만약 당신이 사용해야한다고 말하면, 나는 말한다 : 나는해야한다 :) –

0

Ajax control toolkit을 사용하지 않으시겠습니까?

그런 다음 팝업 내용을 조정할 수 있으며 Windows 스타일 팝업 메시지보다 방해가 적습니다.

0
우리는 심지어 Visual Studio 및 참조를 마우스 오른쪽 클릭으로

  1. 열기 솔루션 탐색기 아래의 단계를 수행 할 필요가 ASP.Net 웹 응용 프로그램에서 창 메시지 상자를 사용할 수 있습니다

    >에 refrence에게

  2. 검색 system.windows 추가 및 시스템 .windows.form 어셈블리를 추가하고
  3. 을 추가 한 다음 .aspx 양식에서 system.windows 및 system.windows.form 을 사용하여 메시지 상자 추가 어셈블리를 사용하려는 경우 Windows 응용 프로그램과 같은 모든 기능을 사용할 수 있습니다. 웹 페이지
관련 문제