![](/img/trans.png)
[英]How can I call client side C# program function via JavaScript from web page on server side?
[英]How can I call a server side c# method via javascript without a WebMethod or Updatepanel?
我宁愿不使用更新面板,而使用常见的WebMethod方法会使我在此代码中遇到此错误
private string currentHtml() {
StringWriter str_wrt = new StringWriter();
HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt);
Page.RenderControl(html_wrt);
return str_wrt.ToString();
}
[WebMethod]
public static void EmailPtoRequest() {
string test = currentHtml();
}
错误8非静态字段,方法或属性'PtoRequest.cs.WebForm1.currentHtml()需要对象引用
显然,静态方法会引起很多麻烦。
我可以针对此类功能使用标准吗? 目的是允许用户将其数据发送到服务器,而不会引起发布和刷新页面。
注意:我不想使用网络方法,因为它会导致无法编译的错误。
public partial class WebForm1 : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
private string currentHtml() {
StringWriter str_wrt = new StringWriter();
HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt);
Page.RenderControl(html_wrt);
return str_wrt.ToString();
}
[WebMethod]
public static void EmailPtoRequest() {
WebForm1 WebForm1 = new WebForm1();
string test = WebForm1.currentHtml();
}
}
结果“ test”是一个空字符串,而不是页面的html。
private static string currentHtml() {
StringWriter str_wrt = new StringWriter();
HtmlTextWriter html_wrt = new HtmlTextWriter(str_wrt);
Page.RenderControl(html_wrt);
return str_wrt.ToString();
}
[WebMethod]
public static void EmailPtoRequest() {
string test = currentHtml();
}
}
再次导致第一个错误,但改为currentHtml方法。
请记住,问题不是关于错误,而是Web方法或更新面板的替代方法。 谢谢。
3种选择:
将currentHtml方法设为静态,
实例化包含currentHtml的类,如下所示:
新的MyClass()。currentHtml();
使用启用了ajax的wcf服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.