【问题标题】:Retrieving A Value From HTML in ASP.NET在 ASP.NET 中从 HTML 中检索值
【发布时间】:2015-12-30 19:28:28
【问题描述】:

如何在 ASP.NET C# 中从 HTML 中检索值?我正在使用一个平面 JSON 文件并通过 Ajax 获取数据并使用 HTML 输出结果。通常,如果您使用的是 asp:ListItem.... 标签,这将起作用。但是我在提交表单时无法从 HTML 标记中检索值。

jQuery

    $.ajax({
        url: "js/covers.json",
        dataType: "JSON",
        success: function (data) {
            var $select = $("#customCoversDD");
            $select.empty().append('<option value="">- Please Select One -</option>');
            $.each(data.custom, function (key, val) {
                $select.append('<option id= "customCoversList" value="' + val.description + '">' + val.description + '</option>');
            });
        }
    });

ASP.NET

<asp:RadioButton ID="customCover" Text="Custom Cover" GroupName="covers" runat="server"/>
<asp:DropDownList ID="customCoversDD" runat="server">
</asp:DropDownList>

C#

string coverChoice = "";
if (customCover.Checked)
{
coverChoice = customCoversDD.SelectedValue;
};

【问题讨论】:

  • $select 变量指的是什么?你是如何以及在哪里初始化它的?
  • 那么,怎么了?该列表没有被填充,或者它被填充但是当您选择一个值时coverChoice 什么都不包含?
  • 所有内容都已填充。您可以很好地查看列表。但是,假设您选择了一个选项,我在提交表单时无法获得该值。
  • 是网页表单还是内容页面?如果它是一个 Web 表单,它将起作用。如果它是一个内容页面,那么 asp.net 运行时将添加某种带有控件 ID 的字符串。因此,当控件在浏览器上呈现时,它的 ID 会发生变化。所以你必须找到控件的 ID 并相应地更改你的 JS 代码。您可以使用 Chrome 开发者工具或 firebug 或 IE 开发者工具来查找控件的 ID。

标签: c# jquery asp.net


【解决方案1】:

您为每个选项元素提供了与“customCoversList”相同的 ID。试试这个...

$.each(data.custom, function (key, val) {
        $select.append(
              $('<option></option>').val(val.description).html(val.description)
        );
);

【讨论】:

    【解决方案2】:

    我认为这是因为下拉列表的值不在视图状态中。

    试试这个:Request.Form("customCoversDD"); 这会让你得到下拉列表的选定值。

    【讨论】:

    • 所以我只需要替换:coverChoice = customCoversDD.SelectedValue;至:coverChoice = Request.Form("customCoversDD"); ?
    • @Kluong 是的,我认为代码会给你你想要的。
    • 我已经尝试过了,我得到了这个错误:“无效的回发或回调参数。事件验证是使用配置中的 或 在页面中。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请按顺序使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。”你碰巧知道是什么问题吗?
    • 这篇文章有你需要做的...类似的问题,但有一个列表框stackoverflow.com/q/228969/3147859
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2013-07-28
    • 2022-01-15
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多