从asp.net页面触发C#类的最简单方法是什么

本文关键字:最简单 方法 是什么 net asp | 更新日期: 2023-09-27 18:25:06

在我的asp.net页面中,我有三个标签:

  1. 要筛选的默认名称
  2. 填写了我想点击成为新过滤器的名称列表
  3. 填写了要筛选的项目列表

2和3都由后面的C#代码加载的内容填充。当页面加载时,它会根据第一个标签的默认文本自动进行筛选。我想点击其他标签来调用方法,该方法在页面加载时触发,但使用点击的名称进行过滤。

我的问题是,我试着用点击的名字替换第一个标签,然后再次加载由第一个标签过滤的内容,但它似乎将标签重置为默认文本,显然是以一贯的方式过滤它。

也许AJAX是最简单的方法,但我还没有尝试过,所以做一个基本的例子会很好。

如果你还有更多的问题,就直接问。

从asp.net页面触发C#类的最简单方法是什么

您可以使用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更新面板中,并在代码后面执行。