我有一个silverlight应用程序,用户可以在应用程序中键入SQL查询,然后服务器将查询结果作为Excel文件返回。
用户单击下载链接,该链接链接到生成excel文件的服务器中的HttpHandler。 经过一些研究[1]后,我发现使用HyperlinkButton控件是提供文件链接的最强大方式,没有浏览器弹出安全设置的麻烦。
我需要发送SQL查询,这可能会很长,作为HttpHandler的参数。 由于大小限制,我无法将其作为查询字符串(HTTP GET)包含在URL中。
有没有办法用HyperlinkButton进行'HTTP-POST'?
[1] Browser.HtmlPage.Window.Navigate被阻止,但HyperlinkButton不是 - 为什么?
在这种情况下,我认为您可以尝试使用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>
而不是使用链接为什么只是让按钮看起来像链接。 一个完美的按钮示例显示为链接是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>
希望能解决你的问题。 谢谢。