繁体   English   中英

ASP.NET:使用HtmlGenericControl的粗体文本

[英]ASP.NET: Bold parts of text using HtmlGenericControl

我是一个完整的ASP.NET新手,所以这可能很简单。

我有一个标签,使用下面的伪代码在后面的代码中动态设置了文本

label.Text = string.Format(SOME-DYNAMIC-MESSAGE(ID,1), name, day);

SOME-DYNAMIC-MESSAGE具有以下形式:{0}和{1}表示变量名称和日期。

Hello {0}, today is {1}.

我需要将这些变量设为粗体 我试图将它们包装成跨度,以便可以使用此代码从CSS访问它们

HtmlGenericControl bold = new HtmlGenericControl("span");
    bold.InnerText = name;
    bold.Attributes.Add("class", "bold");

label.Text = string.Format(SOME-DYNAMIC-MESSAGE(ID,1), bold, day);

但它不起作用,没有添加额外的包装器。 它甚至停下来向我展示变量的内容。

有人知道如何解决这个问题吗?

尝试:

label.Text = string.Format(SOME-DYNAMIC-MESSAGE(ID,1), "<span style=\"font-weight:bold\">" + bold + "</span>", "<span style=\"font-weight:bold\">" + day + "</span>");

这是一个快速的示例应用程序(控制台应用程序)来演示一种方法。 我认为您正在尝试格式化String.Format的输入字符串,并使令牌的font-weight{0}{1}等) 加粗

使用此Func<string,string>格式化输入字符串。 然后将以下CSS添加到您的html页面:

class Program
{
    static void Main(string[] args)
    {
        var input = @"Hello {0}, today is {1}.";

        Func<string, string> SomeDynamicMessage = s => {
            var val = s;
            val = val.Replace("{", "<span class='bold-token'>{");
            val = val.Replace("}", "}</span>");
            return val;
        };

        Console.WriteLine(SomeDynamicMessage(input));

        // output: Hello <span class='bold-token'>{0}</span>, today is <span class='bold-token'>{1}</span>.
        var final = Console.ReadLine();
    }
}

CSS片段:

.bold-token { font-weight: bold; }

最终输出:

Hello <span class='bold-token'>{0}</span>, today is <span class='bold-token'>{1}</span>

编辑-更多信息

这是您应该如何使用它:

var input = @"Hello {0}, today is {1}.";
label.Text = string.Format(SomeDynamicMessage(input), "test", "Thursday");

输出将是:

Hello <span class='bold-token'>test</span>, today is <span class='bold-token'>Thursday</span>

ASP.NET:HtmlGenericControl<div> - 刷新</div><div id="text_translate"><p>我有一个DIV元素:</p><pre> &lt;div runat="server" id="path"&gt;Nothing here... yet&lt;/div&gt;</pre><p> 和 JavaScript 动态更改其内容。 经过一些操作后,我的元素看起来像这样(用 Firebug 测试,JS 没问题):</p><pre> &lt;div runat="server" id="path"&gt;FirstTest - SecondTest - ThirdTest&lt;/div&gt;</pre><p> 然后我想将它保存到文本文件( &lt;asp:Button runat="server"... ):</p><pre> &lt;script runat="server"&gt; void Page_Load(Object sender, EventArgs e) { Button1.Click += new EventHandler(this.GreetingBtn_Click); } void GreetingBtn_Click(Object sender, EventArgs e) { HtmlGenericControl path = (HtmlGenericControl)Page.FindControl("path"); Response.AddHeader("content-disposition", "attachment;filename=download.txt"); Response.ContentType = "text/plain"; Response.Write(path.InnerText); Response.Flush(); Response.Clear(); Response.End(); } &lt;/script&gt;</pre><p> 它也可以正常工作(SaveDialog弹出窗口,用户选择位置),但是......在output文件中只有一行“这里没有......还没有”。 看起来他对 JavaScript 所做的更改没有反应!</p><p> 我怎样才能强迫他刷新DIV ,这样我就可以随时保存最新的内容?</p><p> 谢谢你的帮助!</p></div>

[英]ASP.NET: HtmlGenericControl <DIV> - refresh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何创建段落( <p> )在ASP.NET中使用HtmlGenericControl? asp.net中的htmlgenericcontrol之类的jquery助手 ASP.NET:HtmlGenericControl<div> - 刷新</div><div id="text_translate"><p>我有一个DIV元素:</p><pre> &lt;div runat="server" id="path"&gt;Nothing here... yet&lt;/div&gt;</pre><p> 和 JavaScript 动态更改其内容。 经过一些操作后,我的元素看起来像这样(用 Firebug 测试,JS 没问题):</p><pre> &lt;div runat="server" id="path"&gt;FirstTest - SecondTest - ThirdTest&lt;/div&gt;</pre><p> 然后我想将它保存到文本文件( &lt;asp:Button runat="server"... ):</p><pre> &lt;script runat="server"&gt; void Page_Load(Object sender, EventArgs e) { Button1.Click += new EventHandler(this.GreetingBtn_Click); } void GreetingBtn_Click(Object sender, EventArgs e) { HtmlGenericControl path = (HtmlGenericControl)Page.FindControl("path"); Response.AddHeader("content-disposition", "attachment;filename=download.txt"); Response.ContentType = "text/plain"; Response.Write(path.InnerText); Response.Flush(); Response.Clear(); Response.End(); } &lt;/script&gt;</pre><p> 它也可以正常工作(SaveDialog弹出窗口,用户选择位置),但是......在output文件中只有一行“这里没有......还没有”。 看起来他对 JavaScript 所做的更改没有反应!</p><p> 我怎样才能强迫他刷新DIV ,这样我就可以随时保存最新的内容?</p><p> 谢谢你的帮助!</p></div> ASP.NET:HtmlGenericControl(“div”)或Panel asp.net中的部分粗体文本 ASP.NET:图像上文本中的粗体字 尝试在ASP.NET 4.5中覆盖HtmlGenericControl时出错 我想将文本分为两部分-asp.net Sitecore 6.4:是否可以以编程方式将ASP.NET HtmlGenericControl添加到Items Sublayout? .net c#asp.net使Textbox文本的一部分变为粗体
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM