これは比較的簡単だと思いましたが、グリッドからセル情報を取得してテキスト ボックスに投稿するために使用する Site.Master ページにシンプルなボタンがあります。ただし、発火していないようです(ブレークポイントに達していません)。ソリューションをクリーニングして、CausesValidation を無効にしようとしました。Button1_Click 関数は、ボタン イベント プロパティの Click のドロップダウン メニューにも表示されます。
これが私のフォームの主な部分です:
<div id="logindisplay">
<% Html.RenderPartial("LogOnUserControl"); %>
</div>
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
<li><%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:BoundField DataField="Director" HeaderText="Director" SortExpression="Director" />
<asp:BoundField DataField="DateReleased" HeaderText="DateReleased" SortExpression="DateReleased" />
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="CheckBox" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" CausesValidation="True" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Movies]"></asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" Text="Select Movies" OnClick="Button1_Click" OnClientClick="Button1_Click" CausesValidation="False" />
<asp:TextBox ID="TextBox1" Text="First Name" runat="server"></asp:TextBox>
</form>
そして、私の小さなMaster.Site.csをここに示します:
namespace MovieApp
{
public partial class Site : System.Web.Mvc.ViewMasterPage
{
private System.Collections.Generic.LinkedList<GridViewRow> Selections;
protected void Page_Load(object sender, EventArgs e)
{
int i;
TextBox box = (form1.FindControl("TextBox1")) as TextBox;
box.Text = "!!!";
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
GridView gView = (GridView)(form1.FindControl("GridView1"));
GridViewRow row = gView.Rows[0];
TextBox box = (form1.FindControl("TextBox1")) as TextBox;
box.Text= row.Cells[0].Text;
}
}
}