如何使用HyperlinkBut​​ton进行“HTTP-POST”

时间:2013-01-14 09:26:14

标签: silverlight download http-post silverlight-5.0 httphandler

我有一个silverlight应用程序,用户可以在应用程序中键入SQL查询,然后服务器将查询结果作为Excel文件返回。

用户单击下载链接,该链接链接到生成excel文件的服务器中的HttpHandler。经过一些研究[1]后,我发现使用HyperlinkBut​​ton控件是提供文件链接的最强大方式,没有浏览器弹出安全设置的麻烦。

我需要发送SQL查询,这可能会很长,作为HttpHandler的参数。 由于大小限制,我无法将其作为查询字符串(HTTP GET)包含在网址中。

有没有办法做一个HTTP-POST'使用HyperlinkBut​​ton?

[1] Browser.HtmlPage.Window.Navigate is blocked but HyperlinkButton isn't - why?

2 个答案:

答案 0 :(得分:3)

在这种情况下,我认为您可以尝试使用jquery发送get / post请求。

发布请求API文档:http://api.jquery.com/jQuery.post/

获取请求API文档:http://api.jquery.com/jQuery.get/

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
function f(){
    $.post("http://www.w3schools.com/jquery/demo_test_post.asp",
    {
      name:"Donald Duck",
      city:"Duckburg"
    },
    function(data,status){
      alert("Data: " + data + "\nStatus: " + status);
    }
)};

</script>
</head>
<body>

<a href="javascript:f()">Send an HTTP POST request to a page and get the result back</a>

</body>
</html>

答案 1 :(得分:0)

而不是使用链接为什么只是让按钮看起来像链接。一个完美的按钮示例显示为链接是Facebook。它在帖子中有几个按钮,但所有按钮都显示为链接。这是Css代码,它使按钮看起来像一个链接。您始终可以更改链接的外观(可能是Button)。

这里是按钮的css代码。

button {
    background:none!important;
    border:none; 
    padding:0!important;
    /* Do all your Styling to the Button here. It will look like a link instead. */
}

按钮HTML代码。

<button>Your Button Here.</button>

希望能解决你的问题。谢谢。