我在购物车网站上工作 我想显示div部分中包含的产品的完整信息。在另一页上。我可能有包含信息的div。 目标是在用户点击某个产品的图片时在新页面上获取信息。
Error:
Control 'MainContent_ImageButton1' of type 'ImageButton' must be placed inside a form tag with runat=server.
HTML:
<div id="physics" runat="server">
<h3>High School Physics</h3>
<%-- <a href="ShowLarge.aspx"> <img src="images/Book.jpg" /> </a>--%>
<asp:ImageButton ID="ImageButton1"
src="images/Book.jpg" runat="server" onclick="ImageButton1_Click" />
<p> Book Description Goes Here
<br />
<asp:Label ID="Label1" runat="server" Text="Label">PKR 770/-</asp:Label>
<br />
<asp:TextBox ID="TextBox1" Text="1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Add" />
</p>
</div>
Code :
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
StringWriter sw = new StringWriter();
HtmlTextWriter w = new HtmlTextWriter(sw);
physics.RenderControl(w);
Session["mySessionVar"] = sw.GetStringBuilder().ToString();
Response.Redirect("ShowLarge.aspx", true);
}
HTML: where i want to show this info
<div id="ShowInLargeView" runat="server">
</div>
Code:
protected void Page_Load(object sender, EventArgs e)
{
ShowInLargeView.InnerHtml = (String)Session["mySessionVar"];
}
我想在另一页显示Div的完整信息。我收到一个错误。这个场景是关于购物车 我需要帮助 请帮忙。
答案 0 :(得分:0)
您获得的错误与您尝试添加事件处理程序
有关 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
为了向页面上的元素添加事件处理程序,需要使用runat =“server”属性将其封装在“表单”中。这将导致ImageButton的click事件最终出现在代码隐藏中。
所以你的aspx会变成这样的东西:
<form runat="server">
<div id="physics" runat="server">
<h3>High School Physics</h3>
<%-- <a href="ShowLarge.aspx"> <img src="images/Book.jpg" /> </a>--%>
<asp:ImageButton ID="ImageButton1"
src="images/Book.jpg" runat="server" onclick="ImageButton1_Click" />
<p> Book Description Goes Here
<br />
<asp:Label ID="Label1" runat="server" Text="Label">PKR 770/-</asp:Label>
<br />
<asp:TextBox ID="TextBox1" Text="1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Add" />
</p>
</div>
</form>
通常,将整个页面封装在表单标记中就足够了,这样所有事件都会传递给您的代码隐藏。