gpt4 book ai didi

c# - 如何在链接 onClick 上设置链接的 NavigateUrl?

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:18 27 4
gpt4 key购买 nike

我正在动态创建链接。链接的 NavigateUrl 属性是在调用方法时设置的。但是我不想在点击链接之前调用该方法,因为这样的链接太多了。

如有任何帮助,我们将不胜感激。谢谢。

public void CreateLink()
{
LinkButton link = new LinkButton();
link.Click += new EventHandler(link_Click);
string key = GetKey();
}

private void link_Click(object sender, EventArgs e)
{
var url = GetLinkUrl(e.???);
Response.Redirect(url);
}


public string GetLinkUrl(string key)
{
//do things to retrieve url
return url;
}

更新:非常感谢,所有 :) 我将使用 LinkBut​​ton,如上面更新的代码所示。但是我忘了问:每个链接都有一个关联的 key ,需要它才能获取 URL。我怎么能

最佳答案

您正在做的事情可能相当复杂;您需要向客户端输出一些指示在导航发生之前调用要执行的代码隐藏方法的内容,例如:

HyperLink link = new HyperLink();
link.Attributes.Add("onclick", "doClientsideCode();");
...

然后,一些 JavaScript:

function doClientsideCode() {
// Do a call to a service or similar, to run the method you're wanting to run.
// This will then do the navigation you require.
}

因此,我的建议实际上是一个LinkBut​​ton;这将触发一个事件,您可以通过类似于以下内容的方式在服务器端捕获该事件:

public void link_Click(object sender, EventArgs e) {
// Run my method
// Issue response.redirect to correct URL.
}

[编辑 - 在回答已编辑的问题时,您可以在使用 LinkBut​​ton 时访问属性 CommandName 和 CommandArgument,这应该可以满足您的要求。但是,我确实觉得那部分现在应该是一个单独的问题。]

关于c# - 如何在链接 onClick 上设置链接的 NavigateUrl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17651440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com