标签: htmlgenericcontrol

自我关闭Html通用控件?

我正在编写一些代码来为后面的代码中的head标签添加一个链接标签...即

HtmlGenericControl css = new HtmlGenericControl("link");

css.Attributes["rel"] = "Stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["href"] = String.Format("/Assets/CSS/{0}", cssFile);
Run Code Online (Sandbox Code Playgroud)

尝试实现类似......

<link rel="Stylesheet" type="text/css" href="/CSS/Blah.css" />
Run Code Online (Sandbox Code Playgroud)

我正在使用HtmlGenericControl来实现这个...我遇到的问题是控件最终呈现为......

<link rel="Stylesheet" type="text/css" href="/CSS/Blah.css"></link>
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到我缺少的不渲染额外的东西</link>,我认为它应该是对象的属性.

我是否遗漏了某些东西,或者这种控制是不可能的?

谢谢

c# asp.net htmlgenericcontrol link-tag

8
推荐指数
2
解决办法
5541
查看次数

如何获取生成的Html表单HtmlGenericControl

我有一个Html页面的模板,我需要在ASP.NET中动态添加其内容.我还需要对模板页面进行多次设置,具体取决于数据.

很明显,使用字符串创建大型Html非常脏.所以我选择使用HtmlGenericControl生成我的Html.而我做到了.但是我无法将生成的Html作为字符串从中获取.

它很容易在ASP.NET页面中添加这些控件并进行渲染,但我需要他们的Html.

如果它不可能,是否有任何其他结构化的方式生成Html ...... ???

c# asp.net htmlgenericcontrol html-generation

8
推荐指数
1
解决办法
1万
查看次数

如何从html编码内容中阻止HtmlGenericControl?

我正在使用C#编写一个asp.net站点(实际上是一个DotNetNuke模块).从代码隐藏,我正在尝试创建一个<script>标签,我设置一个必需的js变量,然后将其附加到HMTL <head>.js var是图像文件的相对URL的(文字)数组.由于数组包含字符串,因此每个项必须用引号括起来.

问题是,之间的串<script></script>正在自动某处HtmlEncoded,让周围每个数组项目报价正在与更换&quot;.这似乎发生在HtmlGenericControl呈现时.DotNetNuke可能是罪魁祸首吗?有人可以建议一个解决方法吗?

我当前的代码(从Page_Load我控制中的处理程序运行):

HtmlGenericControl PreviewDataScriptTag = new HtmlGenericControl("script");
PreviewDataScriptTag.Attributes.Add("type", "text/javascript");
StringBuilder PreviewDataScriptCode = new StringBuilder();
PreviewDataScriptCode.Append("var preview_imgs = [");
string pathPrefix = @"""";
string pathSuffix = @""",";
foreach (string path in this.DocPreviewImages)
{
    PreviewDataScriptCode.Append(pathPrefix + PreviewUrlBase + Path.GetFileName(path) + pathSuffix);
}
// Remove last comma from js code
PreviewDataScriptCode.Remove(PreviewDataScriptCode.Length-1, 1);
PreviewDataScriptCode.Append("];");
PreviewDataScriptTag.InnerText = PreviewDataScriptCode.ToString();
Page.Header.Controls.Add(PreviewDataScriptTag);
Run Code Online (Sandbox Code Playgroud)

c# asp.net dotnetnuke html-encode htmlgenericcontrol

7
推荐指数
1
解决办法
4431
查看次数

HtmlGenericControl("br")呈现两次

我正在从代码后面的某个网页添加一些内容.当我想在一些文本后添加一个中断时,我尝试这样做:

pDoc.Controls.Add(New Label With {.Text = "whatever"})
pDoc.Controls.Add(New HtmlGenericControl("br"))
Run Code Online (Sandbox Code Playgroud)

,其中pDoc是Panel我正在添加内容的地方.但它br在最终的HTML中添加了两个标签.

我这样避免这种行为:

pDoc.Controls.Add(New Label With {.Text = "whatever" & "<br />"})
Run Code Online (Sandbox Code Playgroud)

无论如何,我很好奇,我想知道为什么

pDoc.Controls.Add(New HtmlGenericControl("br"))
Run Code Online (Sandbox Code Playgroud)

这样做.我也认为我的方法不太花哨.

问候,

vb.net asp.net htmlgenericcontrol

6
推荐指数
2
解决办法
6288
查看次数

如何在HTMLGenericControl上注册服务器端单击?

我正在寻找一种可靠的机制来生成HTMLGenericControl(例如li元素)的服务器端回发处理程序。

我有一些我不希望更改的标记,并且希望以与标准.Net服务器控件相同的方式来对待。

另外,我知道我可以使用基于模板的控件将某些.Net控件隐藏在标记中,然后从客户端点击代理触发它们的点击事件。但是,我真的在询问是否可以做得更好。

.net c# postback server-side htmlgenericcontrol

5
推荐指数
1
解决办法
2540
查看次数

如何获取HtmlGenericControl的属性值?

我这样创建HtmlGenericControl:

HtmlGenericControl inner_li = new HtmlGenericControl("li");
inner_li.Attributes.Add("style", "list-style-type: none");
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这个attribue(style)的价值.

html c# asp.net htmlgenericcontrol

5
推荐指数
1
解决办法
8099
查看次数

ASP.NET:以编程方式设置HTML元素的样式

我正在生成一个菜单,其中一个Repeater控件绑定到一个XmlDataSource.

<asp:Repeater ID="myRepeater" runat="server" 
    DataSourceID="myDataSource" 
    onitemdatabound="myRepeater_ItemDataBound" 
    onitemcreated="myRepeater_ItemCreated">
    <HeaderTemplate>
        <ul class="menu_list">
    </HeaderTemplate>
    <ItemTemplate>
        <li id="liMenu" runat="server"><asp:HyperLink ID="hrefMenuItem" runat="server" Text='<%# XPath("@text")%>' NavigateUrl='<%# XPath("@href")%>'></asp:HyperLink></li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>
<asp:XmlDataSource runat="server" ID ="myDataSource" XPath="Menu/Items/*" EnableCaching="False" /> 
Run Code Online (Sandbox Code Playgroud)

我希望能够根据鼠标悬停事件和当前选择的菜单项设置包含LI的样式.我尝试通过HtmlGenericControl,但我收到一个错误,它是readonly.

protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                HyperLink hrefCurrentMenuLink = e.Item.FindControl("hrefMenuItem") as HyperLink;
                HtmlGenericControl l_genericControl = e.Item.FindControl("liMenu") as HtmlGenericControl;

                if ((hrefCurrentMenuLink != null) && (l_genericControl != null))
                {
                    string l_currentPage = GetCurrentWebPage();

                    if (String.Compare(Path.GetFileNameWithoutExtension(hrefCurrentMenuLink.NavigateUrl), l_currentPage, StringComparison.OrdinalIgnoreCase) == …
Run Code Online (Sandbox Code Playgroud)

asp.net repeater htmlgenericcontrol

2
推荐指数
1
解决办法
6216
查看次数

如何将 HtmlGenericControl 转换为 WebControl?

...我正在尝试使用此代码(我通过我的结对编程朋友发现,他将被称为“G 先生”)动态地向我的 ASP 控件添加或删除类

public static class WebHelper
{
    public static void AddCssClass(this WebControl control, string cssClass) {
        List<string> classes;
        if (!string.IsNullOrWhiteSpace(control.CssClass)) 
        {
            classes = control.CssClass.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (!classes.Contains(cssClass))
                classes.Add(cssClass);
        }
        else
        {
            classes = new List<string> { cssClass };
        }
        control.CssClass = string.Join(" ", classes.ToArray());
    }

    public static void RemoveCssClass(this WebControl control, string cssClass)
    {
        List<string> classes = new List<string>();
        if (!string.IsNullOrWhiteSpace(control.CssClass))
        {
            classes = control.CssClass.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
        }
        classes.Remove(cssClass);
        control.CssClass = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net htmlgenericcontrol

1
推荐指数
1
解决办法
1万
查看次数