首页 > 解决方案 > 如何从 asp.net 站点使用用户身份验证器调用 c# 方法

问题描述

我不知道如何调用代码隐藏方法,在该方法中我验证登录用户以设置他的项目列表,然后将其显示在 asp.net web 控件上,如标签 runat 服务器。

我读了一些帖子,他们说使用静态方法进行调用,但是如果我这样做,我将无法访问 Web 控件,然后我阅读了使用 findcontrol 来获取访问权限,但它在控件中返回 null 知道我该怎么做吗?

这是一些代码隐藏,下一个是对此的 ajax 调用

public static void JsRequest()
{
    MembershipUser currentUser = Membership.GetUser();
    Guid currentUserId = (Guid)currentUser.ProviderUserKey;
    string guid = currentUserId.ToString();
    if (currentUser == null)
        currentUser = null;
    else
    {
        DataSet dsInsert2 = new DataSet();
        SqlDataReader reader2;
        SqlCommand cmdRead2 = new SqlCommand();
        SqlConnection coninsert2 = new SqlConnection(ConfigurationManager.ConnectionStrings["ImportsConn"].ToString());
        cmdRead2 = new SqlCommand("[usp_getMachines]", coninsert2) { CommandType = CommandType.StoredProcedure };
        cmdRead2.Parameters.AddWithValue("@UserID", guid); // Value 
        //cmdRead.Parameters.AddWithValue("@StartDate", AspxStartDate.Date);   // Value 
        //cmdRead.Parameters.AddWithValue("@EndDate", AspxEndDate.Date);   // Value 
        cmdRead2.Connection = coninsert2;
        coninsert2.Open();
        // Do  Dates  from  DB 
        reader2 = cmdRead2.ExecuteReader();
        while (reader2.Read())
        {
            // Int32 RowNR = reader2.GetInt32(reader2.GetOrdinal(""))
            Int32 RowNR = reader2.GetInt32(reader2.GetOrdinal("RowNR"));
            Int32 MachineID = reader2.GetInt32(reader2.GetOrdinal("MachineID"));
            string MachineNr = reader2["MachineNr"] as string;
            DataSet dsInsert = new DataSet();
            SqlDataReader reader;
            SqlCommand cmdRead = new SqlCommand();
            SqlConnection coninsert = new SqlConnection(ConfigurationManager.ConnectionStrings["ImportsConn"].ToString());
            cmdRead = new SqlCommand("[usp_getJobShopDone]", coninsert) { CommandType = CommandType.StoredProcedure };
            cmdRead.Parameters.AddWithValue("@MachineID", MachineID); // Value 
            // cmdRead.Parameters.AddWithValue("@MachineID",  Request.QueryString.TExt("MachineID");   // Value 
            // cmdRead.Parameters.AddWithValue("@StartDate", AspxStartDate.Date);   // Value 
            // cmdRead.Parameters.AddWithValue("@EndDate", AspxEndDate.Date);   // Value 
            cmdRead.Connection = coninsert;
            coninsert.Open();
            // Do  Dates  from  DB 
            reader = cmdRead.ExecuteReader();
            while (reader.Read())
            {
                Page page = (Page)HttpContext.Current.Handler;
                System.Web.UI.WebControls.Label Label4 = (System.Web.UI.WebControls.Label)page.FindControl("Label4");
                System.Web.UI.WebControls.Label Label1 = (System.Web.UI.WebControls.Label)page.FindControl("Label1");
                System.Web.UI.WebControls.Label Label2 = (System.Web.UI.WebControls.Label)page.FindControl("Label2");
                System.Web.UI.WebControls.Label Label3 = (System.Web.UI.WebControls.Label)page.FindControl("Label3");
                HtmlImage img1 = (HtmlImage)page.FindControl("img1");
                HtmlImage img2 = (HtmlImage)page.FindControl("img2");
                HtmlImage img3 = (HtmlImage)page.FindControl("img3");
                System.Web.UI.WebControls.Label LabeMachine1 = (System.Web.UI.WebControls.Label)page.FindControl("LabeMachine1");
                System.Web.UI.WebControls.Label LabeMachine2 = (System.Web.UI.WebControls.Label)page.FindControl("LabeMachine2");
                System.Web.UI.WebControls.Label LabeMachine3 = (System.Web.UI.WebControls.Label)page.FindControl("LabeMachine3");
                Label4.Text = reader["CurrentStatus"] as string;
                //  MessageBox.Show(RowNR.ToString());
                if (Label4.Text == "Active" && RowNR == 1)
                {
                    img1.Src = "~/Images/kafle/kafle_zebatka-05.svg";
                    LabeMachine1.Text = reader["MachnineName"] as string;
                    Label1.Text = reader["CurrentStatus"] as string;
                    page.Session["M1"] = MachineID;
                }
                else if (Label4.Text == "Standby" && RowNR == 1)
                {
                    img1.Src = "~/Images/kafle/kafle_zebatka-06.svg";
                    LabeMachine1.Text = reader["MachnineName"] as string;
                    Label1.Text = reader["CurrentStatus"] as string;
                    page.Session["M1"] = MachineID;
                }
                else if (Label4.Text == "Error" && RowNR == 1)
                {
                    img1.Src = "~/Images/kafle/kafle_zebatka-01.svg";
                    LabeMachine1.Text = reader["MachnineName"] as string;
                    Label1.Text = reader["CurrentStatus"] as string;
                    page.Session["M1"] = MachineID;
                }
                else if (Label4.Text == "Setting" && RowNR == 1)
                {
                    img1.Src = "~/Images/kafle/kafle_zebatka-03.svg";
                    LabeMachine1.Text = reader["MachnineName"] as string;
                    Label1.Text = reader["CurrentStatus"] as string;
                    page.Session["M1"] = MachineID;
                }
                else if (Label4.Text == "Emergency Stop" && RowNR == 1)
                {
                    img1.Src = "~/Images/kafle/kafle_status-yel-yel.svg";
                    LabeMachine1.Text = reader["MachnineName"] as string;
                    Label1.Text = reader["CurrentStatus"] as string;
                    page.Session["M1"] = MachineID;
                }
            }
function getState() {
  try {
    $.ajax({
      type: "POST",
      url: "HeadMenu.aspx/JsRequest",
      contentType: "application / json; charset = utf - 8",
      dataType: "JSON",
      success: function(response) {
        alert(response);
      },
      error: function(response) {
        alert("something wrong")
      }
    });
  } catch (err) {}
}

标签: javascriptjqueryasp.net.net

解决方案


推荐阅读