【问题标题】:Get value of ASP.NET hidden field from code behind using JQuery使用 JQuery 从后面的代码中获取 ASP.NET 隐藏字段的值
【发布时间】:2014-10-05 10:15:51
【问题描述】:

我想用JQuery 设置ASP.NET hidden field 的值,然后从后面的ASP.NET 代码中读取它的值。

到目前为止我有这段代码,但是当我追踪它时,我发现它改变了hidden field 的值,但是code behind 得到了hidden field 的先前值!

有什么建议吗?提前谢谢。

ASPX:

<input type="hidden" id="SubmitHiddenField" name="SubmitHiddenField" clientidmode="Static" runat="server" />

JQuery:

function func() {
    if (invalid) {
        $("#<%= SubmitHiddenField.ClientID %>").val("false");
        alert("false");
    }
    else {
        $("#<%= SubmitHiddenField.ClientID %>").val("true");
        alert("true");
    }
}

后面的代码:

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "func()", true);
string s;

if (SubmitHiddenField.Value == "true")
     s = "Yes";
else if (SubmitHiddenField.Value == "false")
     s = "No";

【问题讨论】:

    标签: jquery asp.net hiddenfield


    【解决方案1】:

    问题是您在设置要执行的 javascript 的块中检查它。当你的 if 条件被执行时,func 并没有像你想象的那样被实际调用。

    func 只会在Page_Load 和其他事件通过 HTML 发送到客户端后调用。只有这样func 才会被执行。

    因此,您只能在回发后检查该值。例如,您可以添加一个按钮,该按钮将在后面的代码中执行一个处理程序,您可以在其中检查隐藏字段的值。

    【讨论】:

    • 是的。那就是问题所在!但是我如何在没有回发的情况下处理它?我实际上想检查我的注册表值是否正确,如果正确,那么我的代码在后面的代码中继续。如果表单值不正确,我只想表明这些值不正确。当您看到“无效”布尔值时,我必须在 JQ 中执行此操作。有更好的建议吗?
    猜你喜欢
    • 1970-01-01
    • 2014-04-01
    • 2014-04-10
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    相关资源
    最近更新 更多