0

これは比較的簡単だと思いましたが、グリッドからセル情報を取得してテキスト ボックスに投稿するために使用する 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;


        }

    }
}
4

3 に答える 3

2

ASP.NET MVC を使用しているようです。

ASP.NET MVC では WebControls または Control Events を使用できません。Web フォームとはまったく異なるプログラミング パラダイムを使用します。唯一の共通点は、事前に作成された HTML を格納するために aspx/ascx ファイルを使用することです。

value=""アクションで「ボタン イベント」ワークフローを使用する場合は、コレクションでボタンの属性を探しますRequest.Form

于 2013-08-02T22:54:31.703 に答える
0

remove OnClientClick="Button1_Click"
-OnClientClick は、クライアント側関数 (javascript 関数) を呼び出すために使用されます。

于 2013-08-02T22:55:14.667 に答える