asp.net 如何将string型转换为Label型并且可以设置服务器控件属性
是这样的,页面上有很多个Label控件,控件的样式是可以调整的,我可以按上,下,左,右来改变控件的位置和字体之类
我把控件的信息保存到了注册表里,现在可以正确保存,也可以正确读取
问题描述:
我这里出现的问题是,每个控件的ID不同,我把ID也保存到了注册表,我想读取出来的ID,调用Style设置坐标值,虽然值可以正确读取,Response也可以显示出值,但是在页面上却没有生效!还是按照页面的静态的坐标来显示的
前台代码:(举例,用两个Label控件)
<asp:Label ID = "lblDSRText" Text = "当事人" runat = "server" name="label" Style="left: 341px; position: absolute;top:223px" ></asp:Label>
<asp:Label ID = "lblDSRXMText" Text = "当事人姓名" runat = "server" name="label" Style="left: 580px; position: absolute;top: 223px" ></asp:Label>
后台代码:
string writeKey = "lblDSRText";
Label writeKey_Label = new Label();
writeKey_Label.ID = writeKey;
writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
Response.Write(writeKey_Label.Style["Style"]);
后台代码可以输出这个值来,前台的坐标却没有发生变化
但是后台直接写,lblDSRText.Style["Style"] = "left: 341px; position: absolute;top:193px";却是正常的,前台的控件坐标可以发生变化
请问,这个问题如何才能得到解决呢?
分不够我可以再加!! --------------------编程问答-------------------- UP --------------------编程问答-------------------- 看看能不能通过lable得 autopostback属性来处理 --------------------编程问答-------------------- 没有看到从注册表取值的代码。 --------------------编程问答-------------------- writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
把这个名称改一下别用Html的关键字试试 --------------------编程问答-------------------- 结贴率啊。。。。 --------------------编程问答-------------------- 结帖率:0.00% --------------------编程问答-------------------- 要不你看一下生成的代码(就是套页面后的)的标点符号是否有错 --------------------编程问答-------------------- 没有看到从注册表取值的代码。
"left: 341px; position: absolute;top:193px";
如果是注册表里的就是把341px和193px那里改成动态,显示从注册表里读出来的值即可
我直接用静态的代替了,效果一样,不影响问题
-------------------------------------------------------------
writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
把这个名称改一下别用Html的关键字试试
改过,top,left之类,都没用
--------------------------------------------------------------
要不你看一下生成的代码(就是套页面后的)的标点符号是否有错
writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
上边这句不行,而下边这句就行,writeKey_Label的值为“lblDSRText”
lblDSRText.Style["Style"] = "left: 341px; position: absolute;top:193px";
-----------------------------------------------------------------
谁知道做我加100分! --------------------编程问答--------------------
string writeKey = "lblDSRText";
Label writeKey_Label = new Label();
writeKey_Label.ID = writeKey;
writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
this.Controls.Add(writeKey_Label);
试试 --------------------编程问答-------------------- up --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- Label l = (Label)this.FindControl("lblDSRText");
if (l != null)
{
l.Style["color"] = "red";
} --------------------编程问答--------------------
--------------------编程问答-------------------- 原来慕白兄已经抢先一步 了 --------------------编程问答-------------------- hehe. --------------------编程问答-------------------- 我还没看明白你到底想咋个样咧,没看明白你说什么?不知道你想实现是效果,现在问题又是什么? --------------------编程问答-------------------- Response.Write(writeKey_Label.Style["Style"]);??? --------------------编程问答--------------------
Label writeKey_Label = this.FindControl("lblDSRText") as Label;
if(writeKey_Label != null)
{
writeKey_Label.Style["left"] = "341px";
writeKey_Label.Style["position"] = "absolute";
writeKey_Label.Style["top"] = "193px";
}
看来应该改改,服务器控件应该是在form里的:
--------------------编程问答-------------------- string writeKey = "lblDSRText";
Label writeKey_Label = this.form1.FindControl("lblDSRText") as Label;//查找form1中的ID为lblDSRText的Label
if(writeKey_Label!=null)
{
writeKey_Label.Style["left"]="341px";
writeKey_Label.Style["position"]="absolute";
writeKey_Label.Style["top"]="193px";
}
Label writeKey_Label = (Label)Page.FindControl(writeKey); // new Label();
//writeKey_Label.ID = writeKey; // 大哥啊,你以为,给了一样的ID就是同一个 Label ?
writeKey_Label.Style["Style"] = "left: 341px; position: absolute;top:193px";
Response.Write(writeKey_Label.Style["Style"]);
--------------------编程问答-------------------- this.form1.FindControl("lblDSRText") as Label;
这样找不到form1
this.FindControl("lblDSRText") as Label;
这样值为null
我这个页面是继承的母版页,应该是母版页的的问题吧?
<%@ Page Language="C#" MasterPageFile="~/public/MenuIndexContainerHeader.master" AutoEventWireup="true" CodeFile="CFJDS.aspx.cs" Inherits="private_dzjc_DYSZ_CFJDS" Title="Untitled Page" %>--------------------编程问答--------------------
你首先应该明确这个Label在什么地方,也就是它的上级控件是什么?
如果你不知道什么是它的上级控件,就看看它被包含在哪个runat="server"的控件里 --------------------编程问答-------------------- 看到复杂的控件就头晕~~~
补充:.NET技术 , ASP.NET