首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编辑自定义DisplayWithIdFor?

如何编辑自定义DisplayWithIdFor?
EN

Stack Overflow用户
提问于 2015-01-21 08:55:27
回答 1查看 155关注 0票数 3

我使用下面的代码创建了一个DisplayWithIdFor,它显示了我希望它得到的信息。

代码语言:javascript
复制
public static class DisplayWithIDHelper
{
    public static MvcHtmlString DisplayWithIdForApplication<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression, string wrapperTag = "div")
    {
        var id = helper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(ExpressionHelper.GetExpressionText(expression));
        return MvcHtmlString.Create(string.Format("<{0} style=\"color: #003F51; margin-left: 87px;\" class=\"{1}\">{2}</{0}>", wrapperTag, id, helper.DisplayFor(expression)));
    }
}

我的问题很简单,当我使用自定义助手时,我最终得到了一个标签,上面写着Application和显示应用程序名称的显示,它们之间没有空格。见下文。

最后,下面是上面图像的代码:

代码语言:javascript
复制
<form>
    <fieldset>
        <p>
            @Html.LabelFor(model => model.changeStatus.usersName)
            @Html.DisplayFor(model => model.changeStatus.usersName)
            @Html.HiddenFor(model => model.changeStatus.usersName)
            @Html.ValidationMessageFor(model => model.changeStatus.usersName)
        </p>
        <p style="display: inline; float: left">
            @Html.LabelFor(model => model.changeStatus.application)
            @Html.DisplayWithIdForApplication(model => model.changeStatus.application)
            @Html.HiddenFor(model => model.changeStatus.application)
            @Html.ValidationMessageFor(model => model.changeStatus.application)
        </p>
        <p>
            @Html.LabelFor(model => model.changeStatus.reasons)
            @Html.TextAreaFor(model => model.changeStatus.reasons, new { @cols = "80", @rows = "4", @class = "k-textbox" })
            <span style="color: red;"> @Html.ValidationMessageFor(model => model.changeStatus.reasons)</span>
        </p>

        <!-- Allow form submission with keyboard without duplicating the dialog button -->
        <input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
    </fieldset>
</form>

有人能解释一下如何增加两个Html助手之间的间距吗?

任何其他代码都可以像Jquery弹出代码那样提供。

谢谢。

编辑:

为了使事情更加清楚,我必须从选定的kendo网格行中获取应用程序名称,并使用以下代码在jquery中设置名称:

代码语言:javascript
复制
$("div[class='changeStatus_application']").html(applicationName);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 09:53:53

若要简化和确保所有操作都相同,请删除:

style="display: inline; float: left"

从第二段标记开始,在帮助器中使用像span这样的元素,而不是div (块级元素)。

然后,您可能希望更改DisplayWithIDHelper上留下的页边距。

还可以尝试使用类而不是样式属性。然后,您可以通过样式表更改站点的外观,而不必重新编译,而且样式是集中的,易于维护。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28063037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档