2013-06-24 93 views
0

首先,讓我說我對asp.net非常陌生。我一直在Winforms工作了很長一段時間,而且我沒有使用asp.net編程。將Gridview超鏈接列鏈接到一個url

所以請原諒我缺乏知識。

讓我來解釋一下這個場景。

我有一個超鏈接列一個GridView,當點擊要執行的方法(例如DownLoadCustomerInfo(字符串客戶ID))

如何創建一個URL此列,應用程序應該導航到當超鏈接列被點擊。

我已閱讀大量文章,解釋如何導航到其他頁面。我不需要那樣做。

我需要執行一個方法(DownLoadCustomerInfo,如上所述)。

任何幫助,將不勝感激。請幫助我指出正確的方向。

在此先感謝

遊牧

UPDATE

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

如果你想調用一個方法,你可能想使用一個鏈接按鈕,趕上其上單擊事件http://msdn.microsoft.com/en-us/library/system.web.ui .webcontrols.linkbutton.onclick.aspx –

+0

下載它後,您將如何處理客戶信息? –

回答

0

如果我明白你的問題正確,要通過一個鏈接按鈕點擊動作來調用一個方法。您可以使用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> 

現在就像這樣調用你的方法。把這個URL放在你的linkbutton的postbackurl屬性中。

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

+0

感謝您的回覆。這給我足夠的信息繼續前進。但是,超鏈接是在GridView控件中的超鏈接類型字段上創建的。沒有postbackurl屬性。我應該使用可用的Navigateurl屬性嗎?非常感謝。 – Nomad

+0

如果它是一個超鏈接,那麼你可以使用NavigateUrl屬性。 – vendettamit

+0

嗨,我創建了一個Web窗體中的公共方法,並按照您的建議公開它。我鼻涕正在執行的方法。可能是什麼問題? – Nomad