<asp:TemplateField HeaderText="日期">
<EditItemTemplate>
<asp:TextBox ID="textOne" runat="server" Text='<%# Bind("rq") %>' ReadOnly="True" ></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblOne" runat="server" Text='<%# Bind("rq", "{0:yyyy年M月d日}") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>怎么取得EditItemTemplate里的TextBox的改变后的值?TextBox 调用了一个时间控件,为了格式正确性不允许用户手动输入,但是设置成只读后取不到改变后的值怎么取到?
<EditItemTemplate>
<asp:TextBox ID="textOne" runat="server" Text='<%# Bind("rq") %>' ReadOnly="True" ></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblOne" runat="server" Text='<%# Bind("rq", "{0:yyyy年M月d日}") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>怎么取得EditItemTemplate里的TextBox的改变后的值?TextBox 调用了一个时间控件,为了格式正确性不允许用户手动输入,但是设置成只读后取不到改变后的值怎么取到?
sqlcmd.Parameters.Add(new SqlParameter("@ProSn", SqlDbType.Int, 4));
sqlcmd.Parameters["@ProSn"].Value = ProGridView.Rows[e.RowIndex].Cells[0].Text;
照这改改
{
string id = this.gvTest.DataKeys[e.RowIndex].Value.ToString();
string aa= ((TextBox)gvTest.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString();
DbUtil.ExecuteNonQuery("update guestcenter set neirong='"+aa+"'where id=" + id + "");
this.gvTest.EditIndex = -1;
this.lianxibind();
}参考一下
不行的
string aa= ((TextBox)gvTest.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString();
这句取不了文本框的值的
更别说ReadOnly了`
前台不要加readonly
设置不了啊,EditItemTemplate里的控件不能直接访问到
要先 (TextBox)gvwOne.Rows[e.RowIndex].Cells[0].Controls[0] 这样转一次,但是Page_Load里没有e.RowIndex