javascript - 如何从 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) {}
}
解决方案
推荐阅读
- php - 如何将值插入表一次
- sql-server - SQL Server 中 patindex 中的 ^ 有什么用?
- typescript - Dart - 如何强制映射键包含在列表字符串中
- python - 为什么'_io.BufferedRandom'对象没有属性'resize'
- wavesplatform - 在 Wave 钱包中手动签署消息的选项?
- scala - 在火花中联合后再次排序的蜂巢表排序
- python - 如果元组包含子字符串,则识别元组列表中的元组
- python - Python 中的弹性搜索。如何从搜索中获取关闭整数
- python - 如果 dict 键的值在 otherlist 中,则从列表中的 dicts 中删除元素
- ag-grid - 如何在 Ag-grid angular 中扩展分组数据中的行?