从一个页面获取信息并在其他页面上显示

时间:2013-02-15 07:35:09

标签: asp.net

我在购物车网站上工作 我想显示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的完整信息。我收到一个错误。这个场景是关于购物车 我需要帮助 请帮忙。

1 个答案:

答案 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>

通常,将整个页面封装在表单标记中就足够了,这样所有事件都会传递给您的代码隐藏。