不过都是一些非常简单的问题,怕忘记,在这里作一个记录.
GridView模版列中Button取值问题:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="id" AutoGenerateColumns="False" ShowHeader="False" Width="100%" OnRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="dept" >
<ItemStyle Height="20px" Width="10%" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="deptnm" >
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
意见:<asp:TextBox CssClass="inputLine" ID="txtNotion" runat="server" Width="300px"></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="40%" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hditem" runat="server" Value='<%# Eval("item") %>' />
<asp:RadioButtonList ID="rblidea" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem Value="1">同意</asp:ListItem>
<asp:ListItem Value="0">不同意</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="20%" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnSubVise" CommandName="vise" CommandArgument='<%# Eval("id") %>' runat="server" Text="提 交" CssClass="Sub_button2" />
<input id="ReSubVise" type="reset" value="重 置" class="Sub_button2" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="15%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<Columns>
<asp:BoundField DataField="dept" >
<ItemStyle Height="20px" Width="10%" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="deptnm" >
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
意见:<asp:TextBox CssClass="inputLine" ID="txtNotion" runat="server" Width="300px"></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="40%" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hditem" runat="server" Value='<%# Eval("item") %>' />
<asp:RadioButtonList ID="rblidea" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem Value="1">同意</asp:ListItem>
<asp:ListItem Value="0">不同意</asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="20%" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnSubVise" CommandName="vise" CommandArgument='<%# Eval("id") %>' runat="server" Text="提 交" CssClass="Sub_button2" />
<input id="ReSubVise" type="reset" value="重 置" class="Sub_button2" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="15%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
点击"提交"这个按钮,想取得"意见"这个TextBox的值.
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;
int index = row.RowIndex;
string strid = e.CommandArgument.ToString();
if (e.CommandName == "vise")
{
string strid = GridView1.DataKeys[index].Value.ToString();
TextBox txtNotion = (TextBox)row.FindControl("txtNotion");
Response.Write(txtNotion.Text.ToString());
}
}
e.CommandArgument是取CommandArgument='<%# Eval("id") %>'的值.index是取GridView中DataKeyNames="id"的值.
{
GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;
int index = row.RowIndex;
string strid = e.CommandArgument.ToString();
if (e.CommandName == "vise")
{
string strid = GridView1.DataKeys[index].Value.ToString();
TextBox txtNotion = (TextBox)row.FindControl("txtNotion");
Response.Write(txtNotion.Text.ToString());
}
}