asp.net后台如何获取当前点击的动态生成的input按钮的value?

listview的<itemTemplate>中动态生成的按钮,如果用asp:Button按钮,则可以在点击事件中用
Button bttn = sender as Button;
string v=bttn.value.toString();这样取动态生成的asp:Button的值;
可是如果要用input按钮,再由listview动态生成,所有input的id都是动态生成,点击之后,后台代码应该怎么判断哪个input按钮产生点击事件,并获取该点击事件input按钮的value值?
<asp:ListView ID="StoryTitles" runat="server">
<ItemTemplate>
<div class="tags" id='tag<%# Eval("SID")%>'>
<input id="storyBooks" type="button" class="buttons" runat="server" onserverclick="showIt" value='<%# Eval("Titles")%>' />
<asp:Button CssClass="buttons" ID="Button1" OnClientClick="lightUp();" onclick="showIt" runat="server" Text='<%# Eval("Titles")%>' />
</div>
</ItemTemplate>
</asp:ListView>

你动态生成的<input>有runat=“server”不?如果有,那么可以和<asp:Button runat="server">同样的方法判断

System.Web.UI.HtmlControls.HtmlInputButton button= sender as System.Web.UI.HtmlControls.HtmlInputButton;
string v=button.Value.ToString();

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-27
这个JS就需要改动一下了,lightUp();

改成 lightUp(this);

然后在JS方法里 使用 lightUp(obj),操作对obj操作即可。追问

之前试过。。。但就是是后台要怎么取obj.value?

function lightUp(obj) {
....
obj.value;
}

第2个回答  2013-08-26
写一段获取按钮text的代码,希望对你有启发
foreach(ListViewItem lvi in StoryTitles.Items) //遍历所有项
{
Control con = lvi.FindControl("Button1");
string s = ((Button)con).Text ;

}追问

这里的”button“是动态生成的,即使clientIDMode 设置为static,也有很多个button1,代码做不了判断,但还是谢谢,遍历是条思路,谢谢~

asp.net 怎样在后台获取前台iframe所src 页面里边的一个hidden input的...
window.top.document.getElementById("HelloInput");使用js获取到,然后赋值到隐藏文本框中,后台取到。

asp.net中前台一个input控件,没有runat="server" 我想给他赋值(在后...
1.后台定义一个protected变量,前台用js获取(<%=变量%>)再赋值 protected string str="";<input name="aa" type="text" value="<%=str=%>" > 2.后台用responce.write("<script>...<\/script>")直接输出一段js代码来绑定 Response.write("<script>var p=document.getElementById(aa);p.v...

asp.net怎样在后台弹出提示框并获取confirm提示框的值?然后再执行相应...
B、使用registerstartupscript("hello", "<script type=text\/js>if(confirm(" + msg + "))" + "{$(#<=hfisdo.clientid%>).attr(value,yes)}<\/script>");可以在js里面做变动,在页面加入一个input hidden runat=server,然后根据confirm返回的结果来改变hidden的值,js的动作比后台要快,在...

问下.net后台如何获取页面上 <span id="RC">你好<\/span> 中的内容...
后台的.net代码是不能直接获取html中的数据的,必须用传参数到后台。1、表单传参:先在页面的表单(<form>)中做一个<input id="rcInput" name="rcInput" value=""\/>然后再页面的最后面写下面一段javascript:<script type="text\/javascript">document.getElementById("rcInput").value = document...

asp.net 怎样将前台的<%=%> 里的参数传到后台 <%=%>里是一个id。。怎...
用form 前台,<form name="Search" id="myform" method="post" action="页面.aspx"> <input type="hidden" name="post" value="true" \/> <input type="search" class="picker input" name="ds" id="id" value='<%=FormValue("id") %>' \/> 後台 string ds = FormValue("id")...

在asp.net c#网页中,请问从数据库取出一个值,并选中相应的Input(radio...
在asp.net中控件分成html和服务器控件,你如果只是使用html控件的话,在后台代码中是无法访问到这个控件的,你可以在这个控件上右键选择在服务器运行,这样就可以在代码修改这个控件的值了。在页面的onload事件中加入代码,读取数据库的内容并设置那个控件的值(控件的ID.Text=值)当然,如果你坚持使用html...

ASP.NET中 后台 怎么获取 aspx页面 所有选中的checkBox控件的值
你可以使用JS去完成这样的功能,将客户选中的复选框的值保存到一个隐藏表单域中 然后通过后台获取隐藏表单域的值就可以了,给你一段代码,希望你能得到启发 <input type="hidden" id="hidTableValue" runat="server" \/> function CheckBoxs() { var checkBoxList = document.getElementsByTagName("...

在asp.net中,怎样在后置代码中获取前台页面中的服务器控件Id?
VS里面可以直接调用前台的控件的吧?就是你直接写控件的ID,就可以访问

ASP.NET中如何获取<input id="File 的值?
1.在页面上放入一个上传控件和一个图片控件.<asp:FileUpload ID="FileUpload1" runat="server" onpropertychange="show(this.value)"\/> <asp:Image ID="Image1" runat="server" \/> 在上传控件中写onpropertychange="show(this.value)"事件并调用js中的show函数并将自身的参数传进js.<script ...

asp.net中用Js给文本框赋值,在后台如何取此文本框的值
后台是无法直接获取JS给文本框赋的值的,比较常用的方法是在页面添加一个hiddenfield,通过js设置它的值与给文本框赋的值相同 然后后台获取隐藏域的值

相似回答