首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >asp隐藏字段从javascript参数获得空值

asp隐藏字段从javascript参数获得空值
EN

Stack Overflow用户
提问于 2015-09-21 13:33:44
回答 1查看 1.6K关注 0票数 2

我正在尝试将dropdown-menu中选定的值参数传递给hidden-field。我跟踪了代码以查看hidden-field值,它总是得到空值。

另外,我还使用浏览器调试器跟踪JavaScript代码,没有发生错误。出什么事了?

JavaScript

代码语言:javascript
运行
复制
$(document).ready(function (e) {
    $('.search-panel .dropdown-menu').find('a').click(function (e) {
        e.preventDefault();
        var param = $(this).attr("href").replace("#", "");
        var concept = $(this).text();
        $('.search-panel span#search_concept').text(concept);
        $('[id$=hdnSearchParam]').val(param);
    });
});

代码隐藏

代码语言:javascript
运行
复制
protected void btnsearch1_Click(object sender, EventArgs e)
{
    grid.DataSource = U.Search(hdnSearchParam.Value, txtsearch.Text);
    grid.DataBind();
}

标记

代码语言:javascript
运行
复制
<div>
    <div class="col-xs-8">
        <div class="input-group">
            <div class="input-group-btn search-panel">
                <button type="button" class="btn btn-default dropdown-toggle" 
                    data-toggle="dropdown">
                    <span id="search_concept">Filter by</span> <span class="caret"></span>
                </button>

                <ul class="dropdown-menu" role="menu">
                    <li><a href="#UserName">UserName</a></li>
                    <li><a href="#its_equal">It's equal</a></li>
                    <li><a href="#greather_than">Greather than ></a></li>
                    <li><a href="#less_than">Less than < </a></li>
                    <li class="divider"></li>
                    <li><a href="#all">Anything</a></li>
                </ul>
            </div>
            <input type="hidden" name="search_param" value="all" id="search_param" />
            <asp:TextBox ID="txtsearch" runat="server" 
                class="form-control" 
                name="x" 
                placeholder="Search term...">
            </asp:TextBox>
            <span class="input-group-btn">
                <asp:LinkButton ID="btnsearch" runat="server" 
                    CssClass="btn btn-primary"
                    OnClick="btnsearch1_Click">
                    <span class="glyphicon glyphicon-search"></span>
                </asp:LinkButton>
            </span>
        </div>
    </div>
</div>
<asp:HiddenField ID="hdnSearchParam" runat="server" />
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-21 18:40:01

如果不对代码进行更新,就无法从jQuery/Javascript访问ASP.NET控件。ASP.NET在运行时更改控件的id。你有两个选择:

  1. 使用ClientID获取控件的实际id var hiddenField = $("#<%= hdnSearchParam.ClientID %>");
  2. 将ClientIDMode设置为静态,您的jQuery将按原样工作。(假设您使用的是.NET 4.0或更高版本) ClientIDMode的信息
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32696639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档