由于@TheVillageIdiot说,url重写是一种更好的方法。但是你也可以使用cross-page posting的能力。检查出来:
标记
<asp:HiddenField ID="HiddenField1" runat="server" ClientIDMode="Static" />
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Second.aspx" Text='<%# Bind("Text") %>' OnClientClick='<%# "LinkButton1_Click(\"" + Eval("Value") + "\")" %>' />
</ItemTemplate>
</asp:Repeater>
<script type="text/javascript">
function LinkButton1_Click(v) {
document.getElementById('HiddenField1').value = v;
}
</script>
正如你可以在上面的代码片断看到的,你必须添加一个隐藏字段通过简单的JavaScript来选择的项目存储。我还定义了一个名为SelectedValue
的属性,以获取其他隐藏字段的值。
以下指令到目标页面的代码背后
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource = new[] {
new { Text = "Item 1", Value = "Item 1" },
new { Text = "Item 2", Value = "Item 2" },
new { Text = "Item 3", Value = "Item 3" }
};
Repeater1.DataBind();
}
public string SelectedValue
{
get { return HiddenField1.Value; }
}
第二页
添加。
<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
最后,你必须通过Page
类PreviousPage
属性访问到前一页。
string value = ((_Default)this.PreviousPage).SelectedValue;
_Why_你想隐藏它吗?作为高级用户,直接更改URL以获得所需效果可能是一种优势。例如。 'HTTP://www.google.com/search Q =本+ +会+工作great'? – 2011-05-16 08:27:08
为什么白痴不断在这些论坛上问“你为什么要隐藏它”的问题!?真的......安全......呃!并非所有网站都是完整的公共领域。有些是内部的,需要确保某些信息的安全。 – Fandango68 2017-09-20 04:38:36