怎么做?我们已经尝试在hiddenfield上设置值并尝试在代码隐藏中获得该值但没有成功。我们可以将值设置为a,但是我们无法将值传递给codebehind。
这是JqueryUI对话框。当用户按下nej按钮时(否),不会发生任何事情。但是当用户按下Ja(是)按钮时,我们希望运行代码隐藏方法。
function RemProfile(message, title) {
$(function () {
$("#dialog2").html(message);
$("#dialog2").dialog({
title: title,
buttons: {
Ja: function () {
document.getElementById("lblremove").innerHTML = "true";
$("#hdnResultValue").val("true");
window.location = 'Profile.aspx';
},
Nej: function () {
document.getElementById("lblremove").innerHTML = "false";
$("#hdnResultValue").val("false");
window.location = 'Profile.aspx';
}
},
modal: true
});
});
};
按钮:
<asp:UpdatePanel runat="server" ID="updateremoveprofile">
<ContentTemplate>
<asp:HiddenField ID="hdnResultValue" Value="" runat="server" />
<label id="lblremove"> hej</label>
<asp:Button ID="RemoveProfile" runat="server" Text="Ta bort din profil" OnClick="RemoveProfile_Click" OnClientClick="RemProfile();" />
</ContentTemplate>
</asp:UpdatePanel>
代码隐藏:
protected void RemoveProfile_Click(object sender, EventArgs e)
{
string message = "Vill du ta bort din profil?";
string title = " Borttagning";
ScriptManager.RegisterStartupScript(updateremoveprofile, updateremoveprofile.GetType(), Guid.NewGuid().ToString(), "RemProfile('" + message + "','" + title + "');", true);
var h = hdnResultValue.Value;
}
Dialog div:
<div id="dialog2" style="display: none">
</div>
答案 0 :(得分:0)
您在设置值时尝试使用隐藏字段的ClientID吗?
$("#<%= hdnResultValue.ClientID %>").val("");
或将隐藏字段添加到属性ClientIDMode,以便在渲染
后ID保持不变<asp:HiddenField ID="hdnResultValue" Value="" runat="server" ClientIDMode="Static" />
答案 1 :(得分:0)
你的yes / no函数似乎都在设置window.location。这将导致页面更改,从而停止任何正在运行的JavaScript。您可能想要进行ajax调用,或者使表单提交以进行回发。
$('#formname').submit()
应该使表单回发到服务器。