如何在一些标准asp.net

时间:2017-08-02 08:01:07

标签: javascript asp.net

我有一个问题,因为当我从我的基地重新加载数据时,我检查是否有一些值应该显示我的div。

当满足该标准时(我选择了应该显示div的值)它可以工作。问题是当我想要重新加载已保存的数据时。

我的功能在前面

<script>
     function showDivOrHide(dd_status) {
           if (dd_status.value == 'Met criteria') {
                 $('#someDiv').show(300);
                 }
           else {
              $('#someDiv').hide(300);
           }

  }
</script>

我在PageLoad中的代码:

protected void Page_Load(object sender, EventArgs e)
    {
....

string status = customer["STATUS"].ToString();
    if (!string.IsNullOrEmpty(status)){

      dd_status.SelectedValue = status;
      if(status.Equals("Met criteria")){
            Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "showDivOrHide(" + dd_status + ")", true);
 }


....
}

那么如何从PageLoad加载JS函数?有可能吗?

1 个答案:

答案 0 :(得分:0)

如果它是一个选项,我建议您使用Webservices(通用处理程序)。 然后,您可以将您需要评估的值传递给此Webserivce。

   function validateSelection(customerStatus) {
     $.ajax({
      dataType: "json",
      url: "url/to/webservice" + "?status=" + customerStatus,
      success: function (data) {
         var status = data.status;
         if(status === true){ 
           // show your div 
         } else {
           // do smth else
         }

      },
      error: function (jqXHR, textStatus, errorThrown) {
        // error handling
      }
    });
   }

您的Web服务代码可以包含您的验证,只需将数据作为JSON返回:

public void ProcessRequest(HttpContext context)
{
    if(dd_status == context.Request.QueryString["status"]){
      context.Response.ContentType = "text/plain";
      context.Response.Write("{ \"status\": true }");
    } else {
      context.Response.ContentType = "text/plain";
      context.Response.Write("{ \"status\": false}");
    }
}

这是我理解你的问题的程度。