c#如何在静态方法中设置文本框/标签值

本文关键字:置文本 标签 静态方法 | 更新日期: 2023-09-27 18:09:08

我试过了:

System.Web.UI.Page FormPage;
            object FormControl = FormPage.FindControl("lblUserNames");
            object literalControl = FormPage.FindControl("litMessages");

但是它抛出了一个错误:"使用未分配的局部变量'FormPage'"

那么如何在静态方法中设置文本框/标签值呢?

全部来源:

[WebMethod]                                 
        public static void DeleteItem()
        {          
            HttpCookie reader = HttpContext.Current.Request.Cookies["roomId"];
            string query = "[Get_Messages]";
            SqlCommand cmd = new SqlCommand(query);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@roomId", reader.Value);
            GetData(cmd);
        }

从数据库获取数据集,并将其绑定到div。

private static DataSet GetData(SqlCommand cmd)
        {
            int cntr = 0;
            HttpCookie cookieUserName = HttpContext.Current.Request.Cookies["userName"];
            string username = cookieUserName.Value;

            System.Web.UI.Page FormPages;
            object FormsControl = FormPages.FindControl("lblUserNames");

            string strConnString = ConfigurationManager.ConnectionStrings["LinqChatConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(strConnString))
            {
                using (SqlDataAdapter sda = new SqlDataAdapter())
                {
                    cmd.Connection = con;
                    sda.SelectCommand = cmd;
                    using (DataSet ds = new DataSet())
                    {
                        sda.Fill(ds, "Messages");
                        return ds;
                        if (ds.Tables[0].Rows.Count != 0)
                        {
                            StringBuilder sb = new StringBuilder();
                            int i = (ds.Tables[0].Rows.Count - 1);
                            for (int j = 0; j <= i; j++)
                            {
                                string personName = ds.Tables[0].Rows[j]["Username"] == null ? "" : ds.Tables[0].Rows[j]["Username"].ToString();
                                string gender = ds.Tables[0].Rows[j]["Sex"] == null ? "" : ds.Tables[0].Rows[j]["Sex"].ToString();
                                string message = ds.Tables[0].Rows[j]["Text"] == null ? "" : ds.Tables[0].Rows[j]["Text"].ToString();
                                if (cntr == 0)
                                {
                                    if (username == personName)
                                    {
                                        sb.Append("<div style='padding: 10px;text-align:right'>");
                                    }
                                    else
                                    {
                                        sb.Append("<div style='padding: 10px;'>");
                                    }
                                    cntr = 1;
                                }
                                else
                                {
                                    if (username == personName)
                                    {
                                        sb.Append("<div style='background-color: #EFEFEF;padding: 10px;text-align:right'>");
                                    }
                                    else
                                    {
                                        sb.Append("<div style='background-color: #EFEFEF;padding: 10px;'>");
                                    }
                                    cntr = 0;
                                }
                                ((System.Web.UI.WebControls.Label)FormControl).Text = "<span style='color: Blue;'><b line-height:22px>" + personName + "</b></span>";
                                string lblUserNames = ((System.Web.UI.WebControls.Label)FormControl).Text;
                                //lblUserNames.Text
                                ((System.Web.UI.WebControls.Label)FormControl).Visible = true;
                                //lblUserNames.Visible = true;
                                if (gender.ToLower() == "m")
                                {
                                    if (username == personName)
                                    {
                                        sb.Append(message + "</div>");
                                    }
                                    else
                                    {
                                        sb.Append("<img src='Images/manIcon.gif' style='vertical-align:middle;' alt=''>  " + lblUserNames + " " + message + "</div>");
                                    }
                                }
                                else
                                {
                                    if (username == personName)
                                    {
                                        sb.Append(message + "</div>");
                                    }
                                    else
                                    {
                                        sb.Append("<img src='Images/womanIcon.gif' style='vertical-align:middle' alt=''>  " + lblUserNames + " " + message + "</div>");
                                    }
                                }
                            }
                            ((System.Web.UI.WebControls.Literal)FormsControl).Text = sb.ToString();
                            ((System.Web.UI.WebControls.Label)FormControl).Visible = false;
                        }
                        else
                        {
                            ((System.Web.UI.WebControls.Label)FormControl).Visible = false;
                        }
                    }
                }
            }
        }

c#如何在静态方法中设置文本框/标签值

你可以试着设置它吗?

FormPage page = new FormPage();
object FormControl = page.FindControl("lblUserNames");
object literalControl = page.FindControl("litMessages");