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 中使用 WebControl 或控制事件 - 与 Web 窗体相比,它使用完全不同的编程范例,唯一的共同点是使用 aspx/ascx 文件来存储预先编写的 HTML。

如果您想在您的操作中使用“按钮事件”工作流程,请在您的集合中查找按钮的value=""属性。Request.Form

于 2013-08-02T22:54:31.703 回答
0

remove OnClientClick="Button1_Click"
-OnClientClick 用于调用客户端函数(javascript函数)

于 2013-08-02T22:55:14.667 回答
0

您知道,与 Web 应用程序相比,MVC 中的编程方法完全不同。在 MVC 中,视图用于设计页面。在这里..最好使用服务器控制按钮的html按钮。. 无论你需要做什么......它应该在控制器类([http post]...... ActionResult)中定义。您实际上是在混合代码。那不好....试试这个方法

于 2013-08-03T16:38:46.127 回答