2015-10-20 52 views
0

我有一个网格视图与两列有下拉列表。只要选择了一个值,该下拉列表就会保存。我想阻止用户在第二个下拉列表中选择一个值,而不从第一个值中选择一个值。所以第一个下拉列表不应该是空白的。有没有办法阻止异常消息中的所有额外文本?

public static void UpdateMemReasonSecond(int SerNoID, string sel) 
{ 
    JobOutturn SerNo = new JobOutturn(SerNoID); 
    SerNo.MemReasonSecond = sel; 
    SerNo.MemDate = DateTime.Now; 
    SerNo.MemUser = CurrentUser.Username; 
    SerNo.Update(); 

    if (SerNo.MemReason == "" & SerNo.MemReasonSecond != "") 
    { 
     throw new Exception("Please fill in first reason"); 
    } 
} 

jQuery代码:

function UpdateMemReasonSecond(SerNoID, sel) { 
     PageMethods.UpdateSecondMemReasonUserControl(SerNoID, sel, OnUpdateSuccess, OnUpdateFailReason); 
    } 

所以异常的作品,但在出现的错误信息中包含了很多额外的线,不只是我的消息。有没有办法只显示我的消息?

enter image description here

+2

'ex.Message',你的意思是? – CodeCaster

+0

您不应该为此使用异常 –

+1

“不要从您的源代码故意抛出System.Exception,System.SystemException,System.NullReferenceException或System.IndexOutOfRangeException。” https://msdn.microsoft.com/en-us/library/ms173163.aspx –

回答

0

要使用ClientScript一个静态方法里面传递Page对象作为参数传递给您的静态方法。 Page不是static class。您不能在静态方法内调用非静态字段。因此,您需要将页面对象作为参数传递给静态方法。

public static void UpdateMemReasonSecond(int SerNoID, string sel ,Page page) 
{ 
    JobOutturn SerNo = new JobOutturn(SerNoID); 
     SerNo.MemReasonSecond = sel; 
     SerNo.MemDate = DateTime.Now; 
     SerNo.MemUser = CurrentUser.Username; 
     SerNo.Update(); 

     if (SerNo.MemReason == "" & SerNo.MemReasonSecond != "") 
     { 

      page.ClientScript.RegisterStartupScript(page.GetType(),"alert", "<script>alert('Please fill in first reason');</script>"); 
     } 
    }   
相关问题