【问题标题】:Unable to get values from jQuery Dialog in C#?无法从 C# 中的 jQuery 对话框获取值?
【发布时间】:2013-04-29 09:32:28
【问题描述】:

我在 ASP.Net 中使用 GridView 并添加 jQuery Dialog 以在 Edit 按钮上显示数据,当我单击 Dailog 的 Save 按钮时,它会加载 Dialog 并显示数据,我无法在 ASP.Net (C#) 中获取值代码隐藏。

<script type="text/javascript">
    $(function () {
        $("#Phone-Modal").dialog({
            autoOpen: false,
            height: 400,
            width: 430,
            modal: false,
            open: function (type, data) {
                $("#Phone-Modal").parent().appendTo($("form"));
            }
        });            
    });
    function showDialog(id) {
        $('#' + id).dialog("open");

    }
</script>

<div id="Phone-Modal" class="p10" title="Phone Verifications">
    <div class="left wfull">
        <asp:Label runat="server" ID="Label1"></asp:Label></div>
    <div class="left clear" style="height: 248px">
        <div class="left">
            <asp:HiddenField ID="HdfMemberID" runat="server" Value="" />
            Profile : <span style="margin-left: 65px; font-weight: bold">
                <asp:Label runat="server" ID="lblProfile"></asp:Label></span>
        </div>
        <div class="left clear wfull mt10 mb10">
            Phone Number : <span style="font-weight: bold">
                <asp:Label runat="server" ID="lblPhone"></asp:Label></span>
        </div>
        <div class="left wfull mt10 mb10">
            <div style="width: 110px; padding-right: 20px;">
                Admin Notes:</div>
            <asp:TextBox ID="ReplyTextBox1" TextMode="MultiLine" runat="server" Rows="10" Columns="25"
                MaxLength="2000" ValidationGroup="sendEmail" Style="background-color: White;
                width: 100px !important;">
            </asp:TextBox>
            <ajaxtoolkit:HtmlEditorExtender ID="HtmlEditorExtender1" TargetControlID="ReplyTextBox1"
                runat="server">
                <Toolbar>
                    <ajaxtoolkit:Undo />
                    <%--<ajaxtoolkit:Redo />
                        <ajaxtoolkit:Bold />
                        <ajaxtoolkit:Italic />
                        <ajaxtoolkit:Underline />
                        <ajaxtoolkit:InsertOrderedList />
                        <ajaxtoolkit:Indent />
                        <ajaxtoolkit:Outdent />
                        <ajaxtoolkit:BackgroundColorSelector />
                        <ajaxtoolkit:ForeColorSelector />--%>
                </Toolbar>
            </ajaxtoolkit:HtmlEditorExtender>
        </div>
        <br />
        <div class="left clear mt140">
            Pass Code:
            <asp:TextBox runat="server" ID="txtPassCode1" name="txtPassCode1" TextMode="Password"
                Style="margin-left: 43px;">
            </asp:TextBox>
            <asp:HiddenField ID="hdfmid" runat="server" Value='<%# Eval("Member_ID")%>' />
        </div>
    </div>
    <div class="left wfull " style="margin-top: 25px">
        <div class="left mt15">
            <label>
                Verify Phone:
            </label>
        </div>
        <div class="left mt10">
            <asp:DropDownList ID="ddlPhoneStatus" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlPhoneStatus_SelectedIndexChanged"
                CssClass="dropdown_effect ml30" Width="175px">
                <asp:ListItem Text="Select Status" Value="0">
                </asp:ListItem>
                <asp:ListItem Text="Verified" Value="1">
                </asp:ListItem>
                <asp:ListItem Text="Not Verified" Value="2">
                </asp:ListItem>
            </asp:DropDownList>
        </div>
    </div>
</div>

<asp:GridView ID="GridView1" runat="server" CssClass="mb20" AutoGenerateColumns="False"
                AllowPaging="true" PageSize="25" HeaderStyle-CssClass="grdHeader" CellPadding="5"
                OnPageIndexChanging="GridView1_PageIndexChanging1" OnRowCommand="GridView1_RowCommand">
                <Columns>
                    <asp:TemplateField HeaderText="Profile" HeaderStyle-HorizontalAlign="Left">
                        <ItemStyle Width="130px" HorizontalAlign="center" />
                        <ItemTemplate>
                            <asp:HyperLink runat="server" ID="hl" NavigateUrl='<%# string.Format("~/test.aspx?id={0}","id"))) %>'
                                Target="_blank"><%# Eval("Alias") %></asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Phone1">
                        <ItemStyle Width="130px" HorizontalAlign="Center" />
                        <ItemTemplate>
                            <asp:Label ID="lblPhone1" runat="server" Text='<%# Eval("Value 1")%>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Phone Type">
                        <ItemStyle Width="130px" HorizontalAlign="Center" />
                        <ItemTemplate>
                            <asp:Label ID="lblPhone2" runat="server" Text='<%# Eval("Value 2")%>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Action">
                        <ItemStyle Width="200px" CssClass="TxtCenter" HorizontalAlign="Center" />
                        <ItemTemplate>
                            <span style="text-align: center">
                                <asp:LinkButton ID="OpenDialog" runat="server" CssClass="buttons" OnClientClick="showDialog('Phone-Modal','click'); return false;">Update</asp:LinkButton></span>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="" HeaderStyle-HorizontalAlign="Left">
                        <ItemStyle Width="0" HorizontalAlign="center" />
                        <ItemTemplate>
                            <asp:HiddenField runat="server" ID="hdfl" Value='<%# Eval("ID")%>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="ID">
                        <ItemTemplate>
                            <a id="popup" href='<%# Eval("ID") %>'>Edit</a>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

protected void ddlPhoneStatus_SelectedIndexChanged(object sender, EventArgs e)
{
string strTest = lblPhone.Text;
.....
}

当我单击对话框上的 DropDownList 的 SelectedIndexChanged 时,我无法将值从 jQuery 对话框获取到 C#。

谢谢你, 贾汉·泽布

【问题讨论】:

  • 请发布相关代码... HTML,JQUERY ....
  • 是的,亲爱的,我已经发布了代码,谢谢。
  • 这是否意味着下拉菜单的 SelectedIndexChanged 事件没有触发?或者你没有在那个事件中获得价值?您还提到您无法在保存按钮单击事件中获取数据。很困惑,哪个不起作用?
  • 是的,我尝试了 SelectedIndexChanged 和 Button Click 事件,但没有在 CodeBehind 中获取值
  • @JahanZeb 你找到解决方案了吗?我也有同样的问题。

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


【解决方案1】:

检查你是否给了控件 runat="server" 属性

【讨论】:

  • 感谢您的热心回复,是的,我已多次检查所有服务器标签。
猜你喜欢
  • 1970-01-01
  • 2015-09-08
  • 2013-01-12
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
相关资源
最近更新 更多