使用ASP.NET C#中的不同参数动态调用另一个ASP页面

时间:2014-03-22 14:27:40

标签: c# asp.net web-applications

我想调用另一个ASP页面并传递一个参数( entry.ID )。

我有像这样的 Master-Page Global.master (我只发布一部分代码):

<body>
<div id="global" style="height:2000px;">
    <form runat="server" id="globalForm">
        <div id="body">
            <asp:ContentPlaceHolder ID="mainContentPlaceHolder" runat="server">
                 <div id="mainContent">

                 </div>
            </asp:ContentPlaceHolder>
        </div>
    </form>
</div>

Default.aspx Page ,它使用Master-Page:

<asp:Content ID="Content1" ContentPlaceHolderID="mainContentPlaceHolder" runat="Server">
<div id="mainContent">
    <%  ICollection<Database.Blogentry> entries;
        entries = Database.BlogentryDBO.Instance.getAllBlogentries();

        foreach (Database.Blogentry entry in entries) { %>

        <div class="blogEntryBody">
            <div class="blogEntryText">
                <%= entry.Content %> 
            </div>
        </div>
        <div class="blogEntryFooter">
            <span class="blogEntryView">
                <%--CALL HERE ANOTHER PAGE WITH A BUTTON AND PASS THE PARAMETER entry.ID-->

            </span>
        </div>
    <%
        }
    %>
</div>

我已经尝试了

 <label visible="false" id="LabelEntryId" name="LabelEntryId"><%= entry.ID %></label>
<asp:button ID="Button2" runat="server" class="buttonBlogEntry" text="view more ..." onclick="viewEntireBlog_onclick" CommandArgument='<%# Eval("LabelEntryId")%>' />

但我在onClick方法中没有 CommandEventArgs 元素但只有 EventArgs 元素,因此我无法访问 CommandArgument ?!

并使用

<input runat="server" type="text" id="LabelEntryId" value="<%= entry.ID %>" visible="false"/>

然后访问代码隐藏中的 input-element 也是不可能的,因为我有多个LabelEntryId-Input因为循环。

另一个想法是做这样的事情

<asp:button ID="Button1" runat="server" class="buttonBlogEntry" text="view more ..." onclick="<%= Response.Redirect("BlogEntrySortedByCategory.aspx?entryID=" + entry.ID); %>"/>

但我不知道该怎么做......

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试使用标准标签?

<a href='/someotherpage.aspx?entryid=<%= entry.Id %>'>View more</a> 
相关问题