【问题标题】:UpdatePanel - Show errors from server-side into client side divUpdatePanel - 从服务器端显示错误到客户端 div
【发布时间】:2011-06-22 10:40:52
【问题描述】:

我有一个带有 asp:button 的 updatePanel。现在单击按钮,我正在进行验证并希望将消息打印到屏幕上。我想在客户端显示消息<div>

我希望我可以利用 PageRequestManager 类的 EndRequest 方法来打印<div> 中的消息。

有没有一种方法可以将错误消息扔到异步错误消息中,然后从 EndRequest 方法中提取它?

请建议任何方法。

我尝试按照微软给出的文章:- http://msdn.microsoft.com/en-us/library/bb398934.aspx

本文适用于标准错误消息,但我想让它适用于我的自定义错误消息。

【问题讨论】:

    标签: c# asp.net asp.net-ajax updatepanel


    【解决方案1】:

    从服务器向您的验证调用添加一个 javascript 调用,并在调用中传递 error/s 字符串并更新客户端上的 DIV。

    例子:

    function ShowError(msg)
    {
      $get('divError').innerHTML = msg;
    }
    

    在服务器上

    public btn_click(object sender,EventArgs e)
    {
    string Errors = "";
    //Validation Block;
    string script = "ShowError('(0}')";
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "",  string.Format(script,Errors),true);
    }
    

    我希望这会有所帮助;请确保正确编码 ErrorMessage 以避免在客户端丢失文字错误

    【讨论】:

    • 对不起,这个解决方案在我的情况下不起作用。该按钮也出现在 updatePanel 中。我试图让它工作。但是什么也没发生。 ScriptManager.RegisterClientScriptBlock 由于某种原因没有工作..
    • 代码可能不起作用的原因可能是函数中的未格式化字符串。例如 ShowError('请输入用户名\n 值错误'')。请确保返回的字符串是有效的 ECMAScript,并且不会导致 JS ERROR。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2016-02-08
    相关资源
    最近更新 更多