使用Javascript在GridView中设置值文本框

时间:2013-06-17 20:10:11

标签: javascript asp.net gridview textbox

我想将存储的值放在“val”中,并将其分配给gridview中的文本框。我能够循环并找到行而不是控件。我收到一个未定义的错误消息。我错过了我无法找到控件。附件是示例代码:

<!--Javascript Code-->


<script type="text/javascript">
function SetPIN(val)
{
 if (Searching == 'eID')
{

  var num = val;
  var grdvw = document.getElementById('gvEvents');


for (var rowId = 1; rowId < grdvw.rows.length -1; rowId++){
var txtbx = grdvw.getElementById('txtEvtTo').value;

txtbx = num;


 }end for

 }
 }

</script>
  <asp:GridView ID:gvEvents runat="server" AutoGenerateColumns="False" >
  <Columns>
 <asp:TemplateField>
    <ItemTemplate>
 <asp:TextBox ID="txtEvtTo" runat="server" Width="250px"></asp:TextBox>
</ItemTemplate>
 </asp:TemplateField>
 </Columns>
 </asp:GridView>

我尝试了不同的在线选项,但我无法获得文本框的价值

任何建议都会非常感激。

DR

1 个答案:

答案 0 :(得分:2)

不要在IDE中查看html标记,而是在浏览器的“查看页面源”中显示呈现的html。 asp控件id在渲染时会被破坏,所以除非你将控件的ClientIDMode设置为Static,否则你对getElementById的调用将无法用于查找gridview或单元格控件。

以下是我的一个网格视图中的几个示例数据行:

<tr class="gvRowStyleContactList " valign="middle">
    <td>
        <span id="ctl00_ctl00_cphMain_IEHContent_gvEscalationContactListView_ctl02_lblEmailAddress">x@v.com</span>
    </td>
</tr>
<tr class="gvRowStyleContactList " valign="middle">
    <td>
        <span id="ctl00_ctl00_cphMain_IEHContent_gvEscalationContactListView_ctl03_lblEmailAddress">xx@vv.com</span>
    </td>
</tr>