【问题标题】:Linking Gridview hyperlink column to a url将 Gridview 超链接列链接到 url
【发布时间】:2013-06-24 18:36:38
【问题描述】:

首先,让我说我是asp.net 的新手。我已经在 Winforms 工作了很长一段时间了,我没有用 asp.net 进行过编程。

所以请原谅我缺乏知识。

让我解释一下场景。

我有一个带有超链接列的网格视图,单击该列时应该执行一个方法(例如 DownLoadCustomerInfo(string CustomerID))

如何为该列创建一个 url,当单击超链接列时应用程序应导航到该 url。

我已经阅读了许多解释如何导航到另一个页面的帖子。我不需要那样做。

我需要执行一个方法(上面提到的 DownLoadCustomerInfo)。

任何帮助将不胜感激。请帮我指出正确的方向。

提前致谢

游牧民族

更新

<asp:HyperLinkField DataNavigateUrlFields="file_name" DataTextField="file_name" 
HeaderText="File Name" NavigateUrl="~/Download.aspx/test" />

【问题讨论】:

  • 如果你想调用一个方法,你可能想使用一个链接按钮并捕捉它的点击事件msdn.microsoft.com/en-us/library/…
  • 客户信息下载后你打算怎么处理?

标签: asp.net c#-4.0 gridview hyperlink


【解决方案1】:

如果我正确理解了您的问题,您想通过链接按钮单击操作调用方法。您可以使用 PostbackUrl 属性并使用以下技巧将其设置为您的方法。但要做到这一点,您必须将您的方法标记为 WebMethod,以便它作为 Web 服务方法公开。

[WebMethod]  
[ScriptMethod(UseHttpGet=true)]
public string SomeMethod(string value)
{
    // your logic goes here
}

-- 编辑-------------

[WebMethod]  
[ScriptMethod(UseHttpGet=true)]
public static string SomeMethod(string value)
{
    // your logic goes here
}

在 web.config 中:

<system.web>
<webServices>
  <protocols>
    <add name="HttpGet"/>
  </protocols>

现在像这样调用你的方法。将此网址放入您的链接按钮的 postbackurl 属性中。

http://yoursite.com/yourpage.aspx/SomeMethod?value=somevalue

【讨论】:

  • 感谢您的回复。这给了我足够的信息继续前进。但是,超链接是在 gridview 控件中的超链接类型字段上创建的。没有 postbackurl 属性。我应该改用可用的 Navigateurl 属性吗?非常感谢。
  • 如果是超链接,则可以使用 NavigateUrl 属性。
  • 嗨,我在 Web 表单中创建了一个公共方法,并按照您的建议公开了它。我没有执行该方法。可能是什么问题?
  • 我错过了...方法必须是静态的。更新了上面的代码。
  • 我试过了。还是不行。我已经用 aspx 页面的来源更新了问题。
猜你喜欢
  • 2011-12-05
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多