javascript与与asp.net(c#)互相调用方法互相调用方法
1、获得aspx客户端请求地址:
代码如下:
<a src= ‘http://<%=Request.Url.Host %><%= ResolveUrl(“../PayCenter/AlipayAdd.aspx”)%>’>地址</a>
2、C#调用客户端方法:(top.window.document:表父窗体,如果是MainFrame对象在本窗体中,则不加
top.window.document)
Js中的方法:
代码如下:
function navurl(url) {
$(“#mainFrame”,top.window.document).attr(“src”, url);
}
C#调用:
代码如下:
string navUrl = “javascript:navurl(‘” + “http://” + Request.Url.Host + ResolveUrl(“../Document/callIndex.aspx?FolderId=”);
DocName.NavigateUrl = navUrl + txtDocId.Value.Trim() + “‘)”;
3. C#调用客户端方法:
代码如下:
page.ClientScript.RegisterStartupScript(page.GetType(), “message”, “<script language=’javascript’>alert(‘” + msg.ToString()
+ “‘);</script>”);
下面要解决的问题如下:
1.如何在JavaScript访问C#函数?
2.如何在JavaScript访问C#变量?
3.如何在C#中访问JavaScript的已有变量?
4.如何在C#中访问JavaScript函数?
问题1答案如下:
javaScript函数中执行C#代码中的函数:
方法一:
1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById(“btn1”).click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二:
1、函数声明为public
后台代码(把public改成protected也可以)
public string ss()
{
return(“a”);
}
2、在 html 里用可以调用前台脚本
<script language=javascript>
var a = “<%=ss()%>”;
alert(a);
</script>
方法三:
<script language=”javascript”>
<!–
function __doPostBack(eventTarget, eventArgument)
{
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
–>
</script>
<input id=”Button1″ type=”button” name=”Button1″ value=”按钮” onclick=”javascript:__doPostBack(‘Button1’,”)”>
方法四:
<script language=”javascript”>
function SubmitKeyClick()
{
if (event.keyCode == 13)
{
评论0