RT
1.在ASPX页上调用ASPX。CS页下的方法,javascript内这样写<%fuc_num(参数)%>,此处参数如何写?2.这样调用在编译的时候会提示错误,缺少分号<%fuc_num(参数);%>这样写又不处发事件,如何来触发我自定义的事件(自定义事件是public的)?3.从aspx页上的JavaScript内怎么向aspx.cs页上传值?求解,最好有示例代码
1.在ASPX页上调用ASPX。CS页下的方法,javascript内这样写<%fuc_num(参数)%>,此处参数如何写?2.这样调用在编译的时候会提示错误,缺少分号<%fuc_num(参数);%>这样写又不处发事件,如何来触发我自定义的事件(自定义事件是public的)?3.从aspx页上的JavaScript内怎么向aspx.cs页上传值?求解,最好有示例代码
public string ss()
{
return("a");
}
在html里用可以调用
前台脚本
<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为document.getElementById("btn1").click();
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;方法二:1、函数声明为public
后台代码(把public改成protected也可以)
public string ss()
{
return("a");
}
2、在html里用<%=fucntion()%>可以调用
前台脚本
<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
方法三:1、<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)
{
event.cancelBubble = true;
event.returnValue = false;
document.all.FunName.value="你要调用的函数名";
document.form[0].submit();
}
}
</script><INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">
<input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉在.CS里有:
public Page_OnLoad()
{
if (!Page.IsPost())
{
string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
//根据传回来的值决定调用哪个函数
switch(strFunName)
{
case "enter()":
enter() ; //调用该函数
break;
case "其他":
//调用其他函数
break;
default:
//调用默认函数
break;
}
}
}public void enter()
{
//……比如计算某值
}
function addSrcToDestList() {
listAll = window.document.forms[0].Data_List;
for(var i = 0; i < listAll.length; i++) {
if ((listAll.options[i] != null) && (listAll.options[i].selected)) {
window.document.forms[0].TextBox1.value=listAll.options[i].value;
//在此触发textbox的change事件,并且在cs页代码内改变前台页上控件的值
break;
}
}
}
TextBox ID="txtEmpNo" runat="server" Width="108px" onblur="DoEvent('txtEmpNo_Changed')"后台:
public void DoEvent(string evt_name)
{
switch (evt_name)
{
case "txtEmpNo_Changed":
//你想做的事情 break;
}
}
<asp:ListBox ID="Data_List" runat="server" Height="415px"
Width="259px" OnSelectedIndexChanged="Data_List_SelectedIndexChanged"></asp:ListBox> <br />aspx.cs页:
protected void Data_List_SelectedIndexChanged(object sender, EventArgs e)
{
string val = "";
for (byte cnt = 0; cnt < Data_List.Items.Count; cnt++)
{
if ((Data_List.Items[cnt].Value != null) && (Data_List.Items[cnt].Selected))
val = Data_List.Items[cnt].Value.ToString();
} TextBox1.Text = val;
}
为什么这么写不触发事件呢?
function ref()
{
document.execCommand("Refresh");
}
</script>
还可使用ajax通过web services调用方法回传调用事件__doPostBack('Button1','');
3
Response.Write("<script>A("+textbox1.Text+");</script>");
谢谢大家,前几个问题基本都明白了,这个为什么加不上呢?