我认为这会相对简单,但我在Site.Master页面上有一个简单的按钮,我想用它从网格中获取单元格信息,然后将其发布到文本框中。然而它似乎没有被解雇(没有击中断点)。我已经尝试清理解决方案并禁用CausesValidation。 Button1_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;
}
}
}
答案 0 :(得分:2)
看起来你正在使用ASP.NET MVC。
你不能在ASP.NET MVC中使用WebControls或Control Events - 它与Web Forms相比使用了完全不同的编程范例,它唯一的共同点就是使用aspx / ascx文件来存储预先写好的HTML。
如果您想在操作中使用“按钮事件”工作流程,请在value=""
集合中查找按钮的Request.Form
属性。
答案 1 :(得分:0)
删除OnClientClick =“Button1_Click”
-OnClientClick用于调用客户端函数(javascript函数)
答案 2 :(得分:0)
您知道与Web应用程序相比,MVC中的编程方法完全不同。 在MVC视图中用于设计页面。这里..最好使用服务器控件的html按钮 按钮。 。无论你需要做什么......都应该在控制器类中定义([http post] ... ActionResult)。你实际上在混合代码。这不好......试试这种方式