从asp.net页面触发C#类的最简单方法是什么
本文关键字:最简单 方法 是什么 net asp | 更新日期: 2023-09-27 18:25:06
在我的asp.net页面中,我有三个标签:
- 要筛选的默认名称
- 填写了我想点击成为新过滤器的名称列表
- 填写了要筛选的项目列表
2和3都由后面的C#代码加载的内容填充。当页面加载时,它会根据第一个标签的默认文本自动进行筛选。我想点击其他标签来调用方法,该方法在页面加载时触发,但使用点击的名称进行过滤。
我的问题是,我试着用点击的名字替换第一个标签,然后再次加载由第一个标签过滤的内容,但它似乎将标签重置为默认文本,显然是以一贯的方式过滤它。
也许AJAX是最简单的方法,但我还没有尝试过,所以做一个基本的例子会很好。
如果你还有更多的问题,就直接问。
您可以使用Page方法。您已使用[WebMethod]属性对方法进行签名这里的教程
Hey您可以使用两种方法Ajax Call
和__dopostback
1 __doPostback
<input type="button" id="btnSave" onclick="javascript:SaveWithParameter('Hello User')" value="click me"/>
<script type="text/javascript">
function SaveWithParameter(parameter)
{
__doPostBack('btnSave', parameter)
}
</script>
C#代码
public void Page_Load(object sender, EventArgs e)
{
string parameter = Request["__EVENTARGUMENT"]; // parameter
// Request["__EVENTTARGET"]; // btnSave and do your work
}
2 Ajax调用
function callAjaxGetJoiningDate(hashVal) {
var address = "Default.aspx";
$.ajax({
type: 'POST',
url: address,
data: { empCode: hashVal },
beforeSend: function() {
$('#ajax-panel').html('<div class="loading"><img src="images/loading.gif" alt="Loading..." /></div>');
},
success: function(data) {
// successful request; do something with the data
$('#ajax-panel').empty();
var actualData = data.trim().split('~');
$("#YourResultControl").val(actualData[1]);
},
error: function() {
// failed request; give feedback to user
$('#ajax-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
}
});
}
C#代码是
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["empCode"] != null)
{
//Do Work
}
}
希望它能帮助你
将所有标签放在AJAX更新面板中,并在代码后面执行。