2014-10-05 5 views
0

Я хочу установить значение ASP.NEThidden field с JQuery и затем прочитать его значение от ASP.NET позади.Получите значение скрытого поля ASP.NET из кода с помощью JQuery

У меня есть этот код до сих пор, но когда я его отслеживал, я узнал, что он меняет значение hidden field, но code behind получает предыдущее значение hidden field!

Любые предложения? Thanx заранее.

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"; 

ответ

1

Проблема вы проверяете ее в блоке, где вы установили JavaScript выполнить. Когда выполняется условие if, func на самом деле не называется, как вы полагаете, это случай.

func будет вызываться только после Page_Load и другие события превышают HTML-код отправлен клиенту. Только тогда будет выполнен func.

Итак, вы должны только проверить значение после обратной передачи. Например, вы можете добавить кнопку, которая будет выполнять обработчик в коде позади, в котором вы можете проверить значение скрытого поля.

+0

Да. Это проблема! Но как я могу справиться с этим без обратной передачи? Я действительно хочу проверить правильность значений формы регистра, и, если это будет, мой код останется в коде. Если значения формы неверны, я просто хочу показать, что значения неверны. Я должен сделать это в JQ, поскольку вы видите «недействительный» логический. Любые лучшие предложения? –