Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net .NET/html,元素不存在选择dropdown.ClientID时出错_Asp.net_Html - Fatal编程技术网

Asp.net .NET/html,元素不存在选择dropdown.ClientID时出错

Asp.net .NET/html,元素不存在选择dropdown.ClientID时出错,asp.net,html,Asp.net,Html,单击按钮时,我想获取下拉列表的值,但由于某种原因,当我进入代码时,它失败,错误为“Exdd”,在当前上下文中不存在。ExTypeDD作为下拉列表出现在我的listview中,我只是想从中获取值。服务器端正在生成此代码,而不是我的浏览器 $('.Updt') .click(function() { var parent = $(this).parent().prev(); var TypeNode = parent.children("#<

单击按钮时,我想获取下拉列表的值,但由于某种原因,当我进入代码时,它失败,错误为“Exdd”,在当前上下文中不存在。ExTypeDD作为下拉列表出现在我的listview中,我只是想从中获取值。服务器端正在生成此代码,而不是我的浏览器

$('.Updt')
 .click(function() {

            var parent = $(this).parent().prev();

            var TypeNode = parent.children("#<%=Exdd.ClientID %>").first();


 <asp:ListView runat="server" id="ListView1" >
        <LayoutTemplate>
            <table id="tablesorter" style="border:solid 1px black;width:55%;">
                <thead>
                    <tr>
                        <th>
                            <a href="#">Address</a>
                         </th>                                                                                                            
                    </tr>
                </thead>
                <tbody>
                    <tr id="itemPlaceholder" runat="server" />
                </tbody>
                <tfoot>
                </tfoot>
            </table>
        </LayoutTemplate>
        <ItemTemplate>
            <tr>
                <td>
                &nbsp;&nbsp;<select id="Exdd"
                             class="Nbr1" style="width: 90px" >
                            <option value=""><%# Eval("Type")%></option>
                            <option value="0">Home</option></select>
                </td>
    <td>
              <input type="button" id="btn_update" class="Updt" value="Update" />
    </td>
             </tr>
        </ItemTemplate>
    </asp:ListView>
$('.Updt')
。单击(函数(){
var parent=$(this.parent().prev();
var TypeNode=parent.children(“#”)first();
家

您在一个列表视图中。您有as
ExTypeDD
和您有行一样。 因此,您无法在项目模板之外成功引用
ExTypeDD
(有多个)

您可以尝试(将其包装在
$(文档)中后)。准备好了吗


这是因为您正试图将服务器端的HTML元素作为服务器端控件进行访问。您只需向其添加
runat=“server”
,即可将
select
元素添加到服务器端控件中,如下所示:

<select id="ExTypeDD" runat="server" class="Nbr1" style="width:90px">

注意:上面的代码未经测试,可能无法编译,您需要进行必要的更正,但它应该能为您提供解决问题的方法。希望能有所帮助。

产生错误的原因是什么-您的服务器端代码,或浏览器?服务器端。在逐步执行程序时确定。我正在重新标记您的问题。这与客户端代码无关。服务器端,您是如何尝试访问控件的?我是通过按钮单击来访问它的。很遗憾,我必须使用HTML类型的按钮,而不是asp按钮,因为它们对最终用户更易管理。在这种情况下,您无法直接访问服务器端的按钮或选择元素您可以使用服务器sie控件,因此您应该按照@jbl的回答使用客户端解决方案
<select id="ExTypeDD" runat="server" class="Nbr1" style="width:90px">
<asp:ListView runat="server" id="ListView1" onItemCreated="ListView1ItemCreated">
<input type="button" id="btn_update" class="Updt" value="Update" />
<asp:button id="btn_update" text="Update" runat="server" />
protected void ListView1ItemCreated(object sender, ListViewItemEventArgs e){
   var myselect = (HtmlSelect)e.Item.FindControl("ExTypeDD");
   var mybutton = (Button)e.Item.FindControl("btn_update");
   mybutton.OnSubmit += (o,e) => {  
      // do something with myselect selected value
      var selectedvalue = myselect.Value;
   };
}