以下代碼是在javascript脚本中訪問代码文件中的有返回值的方法:
cs中
private string testa="aaa";
public string change()
{
testa="bbb";
return testa;
}.aspx中
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="test.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function loaa()
{
var abc='<% =change() %>';
alert(abc);}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server"><INPUT style="Z-INDEX: 104; LEFT: 136px; POSITION: absolute; TOP: 128px" type="button"
value="Button" onClick="javascript:loaa();"></FONT></body>
</HTML>
那我要在javascript脚本中訪問代码文件中的沒有返回值的方法(分為帶參數和不帶參數兩種情況):該如何?我改在以下代碼:
cs中
public void change()
{
testa="bbb";
  return;//不管此夠要不要
}.aspx中
function loaa()
{
var abc='<% =change() %>';//或者'<% =change() %>';都會出現以下錯誤信息}編譯錯誤 
描述: 資源編譯無法完成 (錯誤發生於服務要求)。請檢閱下列的特定錯誤詳細資料,並視情況修改您的原始程式碼。 編譯器錯誤訊息: CS1502: 最符合的多載方法 'System.IO.TextWriter.Write(char)' 有一些無效的引數原始程式錯誤: 行 22:  document.getElementById('lbl_InvoiceId').visible=obj.checked;
行 23:  document.getElementById('tb_InvoiceId').visible=obj.checked;
行 24:  var abc='<% =change() %>';
行 25:  alert(abc);
行 26:  }
 

解决方案 »

  1.   

    public void change()
    {
    testa="bbb";
      return;//不管此夠要不要
    }
    函数里面根本没有返回值,我也不明白楼主到底想干什么?
      

  2.   

    public void change()
    {
    testa="bbb";
      return;//不管此夠要不要
    }
    必须有有一个返回值 。。你可以在html打个点调试下。看执行顺序
      

  3.   

    不能这样调用方法 
    你可以使用Ajax<% =change() %>
    =后面是一个有值的变量
      

  4.   

    to:xiahouwen(活靶子.NET) ,那我的方法在调用有返回值的时候是可以的;我现在是想调用没有返回值的方法,就出现上面的错误提示。
    还有,如何给调用的方法传递参数呀?