如本主题中所述,有什么方法可以在控制器中获取HTML标记的属性?
该问题涉及以下文章: https://www.itorian.com/2012/10/html-helper-for-image-htmlimage.html
(对不起,我之前没有在此处放置链接,我只是认为它是常用的)
是否可以进行以下任何尝试?
public static MvcHtmlString Image(this HtmlHelper helper, string src, string altText, string height = "")
{
var builder = new TagBuilder("img");
height != "" ? builder.MergeAttribute("height", height) :
// is there a way to get the size of the <html> tag?
(helper.ViewDataContainer as WebViewPage).Height;
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
.cshtml file:
@{
Dictionary<string, string> attributes = new Dictionary<string, string>();
attributes.Add("height", // is it possible to get the height here?
Html.Image("...", "...", attributes);
}
c# file:
public static MvcHtmlString Image(this HtmlHelper helper, string src, string altText, Dictionary<string, string> attributes)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", src);
builder.MergeAttribute("alt", altText);
foreach (var element in attributes)
builder.MergeAttribute(element.Key, element.Value);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
答案 0 :(得分:0)
从javascript获取您的值并通过参数发送。
要获取文档的高度,请使用Javascript或jQuery
答案 1 :(得分:0)
请注意,剃须刀是模板引擎。它只是将html代码作为文本处理。在客户端(客户端的浏览器)中,您想要做的事情确实很容易实现,因为存在DOM对象。
我建议在razor中(在服务器中)创建html标签,并通过css文件添加样式(在浏览器中应用),如果您需要一些更复杂的样式控制,请使用JavaScript编写使其在浏览器中应用
例如,使用jQuery,您可以使用$(function() { /* set-up code */ })
编写这样的设置脚本。查看其详细信息here。