我目前有这个工作,但它要求我有一个静态方法作为后面的代码中调用的方法。我希望能够访问一些不能是静态的成员变量。我没有与Javascript实现结合,并且对其他可以帮助我实现此目的的建议持开放态度。
如果有其他信息有用,请告诉我,我可以加入。
编辑:让我澄清一点,我正在寻找根据按钮点击在页面上的一个用户控件中编辑值。我在页面上的列表中持有用户控件,并使用通过javascript传递的参数来查找我想要更新的用户控件并在那里修改值。
目前看起来像这样:
Javascript:
function incrementCompletes(obj)
{
var firstParameter = $(obj).parents('.parentClass1').find('.childClass1').html();
var secondParameter = $(obj).parents('.parentClass2').find('.childClass2').html();
var parameters = "{'firstParam':'" + firstParameter+ "','secondParam':'" + secondParameter+ "'}";
$.ajax({
type: "POST",
url: "Page.aspx/StaticMethod",
contentType: "application/json; charset=utf-8",
data: parameters,
dataType: "json",
success:
function DoOtherStuffHere(result) {
var x = $(obj).parents('.classWithStuffToChange');
var y = $(x).find('.otherClassWithStuffToChange');
y[0].innerHTML=" + " + result.d;
}
});
}
代码背后:
[WebMethod]
public static int StaticMethod(string parameter1, string parameter2)
{
//Do some stuff
//Return a value
}
我想找到一个不需要调用静态方法的解决方案。
答案 0 :(得分:1)
如果要访问页面的成员变量,则必须有页面类的实例。这意味着您必须进行回发而不是调用Web方法。
使用常规Button
控件,这将导致回发,您可以使用它的Click
事件在后面的代码中运行方法。如果您不希望重新加载页面,可以使用ASP.NET AJAX使用AJAX进行回调。