JQueryUI对话框,获取有关用户推送到代码隐藏的按钮的信息。 ASP.net

时间:2014-01-10 16:36:10

标签: c# jquery asp.net jquery-ui-dialog

怎么做?我们已经尝试在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>

2 个答案:

答案 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()应该使表单回发到服务器。