【问题标题】:ASP.net call javascript then return a value to code behind [closed]ASP.net 调用 javascript 然后返回一个值到代码后面 [关闭]
【发布时间】:2012-09-27 00:49:58
【问题描述】:

大家好,我正在通过 PHP 设计的网站在 ASP.net 中设计网站。他们通过 JavaScript 进行表单检查,如果通过验证,则通过 Ajax 提交所有数据。

是否可以通过后面的代码从提交按钮触发一段 JavaScript 并读取返回值 before 我处理回发以保存数据或什么都不做,直到用户更正JavaScript 指示的字段?

【问题讨论】:

  • 是的,确实有可能。

标签: php jquery asp.net postback


【解决方案1】:

如果您在 javascript 中进行验证,我会制作一个隐藏的提交按钮,如果验证通过,则该按钮会被 javascript 按钮点击:

<input type="button" value="validate" onclick="Validate()" />

<asp:Button ID="aspButton" class="aspButton" OnClick="CodeBehindMethod" style="display: none;" />


<script>
function Validate() {
    //if validation passes
    $(".aspButton").click(); //This is the reason for the class on this button, since                       
                             //asp buttons have huge long stupid id names
    //else do some kind of error notification
}

</script>

如果您在代码后面进行验证,那么为什么不直接使用提交按钮的回帖呢?

【讨论】:

  • 这真是个好主意!我要试试这个。
【解决方案2】:

在 .NET 中,按钮控件有一个 onClientClick,您可以在其中输入任何 js 函数或代码。注意,添加return false;在上述代码之后,否则 .net 将触发完整的回发。

这可能很老套,但您也可以考虑为此使用更新面板;只是一个想法。

【讨论】:

    【解决方案3】:

    是的。您可以通过多种方式做到这一点。我更喜欢处理程序,因为它们超轻量级。虽然,拉取他们的 Javascript 并使用 .NET 的验证器可能会减少您的工作量。这是一个示例处理程序,但以防万一:

    public class CheckData : IHttpHandler
    {
        public bool IsReusable
        {
            get { return false; }
        }
        public void ProcessRequest(HttpContext context)
        {
            string sInputData = context.Request["input_post_var"];
            context.Response.ContentType = "text/plain";
            if (!String.IsNullOrEmpty(sInputData))
                context.Response.Write("1");
            else
                context.Response.Write("0");
        }
    }
    

    您可以通过右键单击解决方案中的文件夹、添加新项...、找到通用处理程序来创建其中一个。

    您也可以使用 AJAX.NET,但实际上整个框架非常臃肿,如果可以的话,我会避免使用它。不过,这只是偏好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多