我现在有一个需求,在页面上 有个 html控件 (非服务器控件),我想要实现点击它弹出下载提示,并执行下载方法。我有两种方案:
1,后台写了个下载方法(方法已经测试完成),但不知道如何 在前台 html控件的 onclick 事件中调用2,用js写个下载方法,直接在 onclick 事件里执行 (JS版的文件下载方法不知道怎么写 )(文件在服务器上,那个路径我会通过参数传到方法中。。)麻烦高手指教谢谢了
1,后台写了个下载方法(方法已经测试完成),但不知道如何 在前台 html控件的 onclick 事件中调用2,用js写个下载方法,直接在 onclick 事件里执行 (JS版的文件下载方法不知道怎么写 )(文件在服务器上,那个路径我会通过参数传到方法中。。)麻烦高手指教谢谢了
// 需要标识为WebMethod
[System.Web.Services.WebMethod]
// 注意,要让前台调用的方法,一定要是public和static的
public static string aaa(string name)
{
string result = "Hello:" + name;
return result;
} <script type="text/javascript">
function btnClick(){
// 调用页面后台方法,前面跟方法所需的参数,接着是方法回调成功时要执行的js函数,最后一个是方法回调失败时要执行的js函数
PageMethods.aaa("you",funReady,funError);
}
// result 就是后台方法返回的数据
function funReady(result){
alert(result);
}
// err 就是后台方法返回的错误信息
function funError(err){
alert("Error:" + err._message );
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
<input type="button" onclick="btnClick()" value="test" /> 方法2:
function Show()
{
var v = "中国";
var s = '<%=CsharpVoid("'+v+'") %>'; // 你好!“+V+”
alert(s);
} protected string CsharpVoid(string strCC)
{
strCC = "你好!" + strCC;
return strCC;
}<input type="button" onclick="Show()" value="hhhh" />