Xin*_*nus 5 .net asp.net gridview
我使用以下代码向gridview添加了一些文本框
<asp:TemplateField HeaderText="STD<br/>ID">
<ItemStyle BackColor="LightBlue" />
<ItemTemplate>
<div style="font-size:xx-small; overflow:hidden;">
<asp:TextBox ID="txtStandard" EnableViewState="true" Height="10" Font-Size="XX-Small" Width="50" Text='<%# bind("STANDARD_ID") %>' runat="server"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtenderDemo" runat="server"
TargetControlID="txtStandard" ServiceMethod="GetCompletionList"
MinimumPrefixLength="1" CompletionInterval="1000"
EnableCaching="true" CompletionSetCount="20">
</asp:AutoCompleteExtender>
</div>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
我想将更新的值保存到数据库,但是当我尝试使用时访问值
string strs = ((TextBox)TwoHeadedGridView1.Rows[0].FindControl("txtStandard")).Text;
Run Code Online (Sandbox Code Playgroud)
它总是返回所有行的空白值,同样的事情发生在下拉列表中它返回我最初选择的值,即在写下拉框时选择的值,我的asp表单上没有重复的ID,这是我的第一个与自定义gridview的交互,我想以某种方式让它运行,
任何人都可以建议我纠正......
我确实检查过它是否存在重复的id,
我在这里找到了这个问题的解决方案: http://www.eggheadcafe.com/software/aspnet/29602882/gridview--cant-get-text.aspx
请记住,网页本质上是无状态的东西!
当您GridView触发事件时,您的Page_Load方法将执行,然后处理该事件的方法GridView也会执行。我仍然不敢相信自己的眼睛,但似乎即使您手动将GridView数据源中的值分配给文本框,该方法执行时用户输入的值也会被清除GridView.DataBind。
简而言之,Page_Load如果你的代码和我的一样,那么你的方法中有这两行代码:
myGridView.DataSource = someDataSet;
myGridView.DataBind();
要解决这个问题,请将其更改为以下内容:
if (!IsPostBack)
{
myGridView.DataSource = someDataSet;
myGridView.DataBind();
}
顺便说一句,我在 VB.net 中工作,所以请让我知道我已为您正确转换为 C#。我想听听这也适合你!
| 归档时间: |
|
| 查看次数: |
4458 次 |
| 最近记录: |