我需要知道我是否可以做到这一点:
我有一个包含电子邮件地址的组合框。问题是,当我选择一封或多封电子邮件时,该框看起来像这样:
我想知道是否可以在电子邮件后面添加一个按钮,因为我想在电子邮件后面添加一个按钮(删除电子邮件的按钮),如下所示
@pagep 对我帮助很大,但是我在写标签时犯了一个错误,我写了 extjs,这不是 extjs,这是 ext.net mvc。
这个可以加一个
tagfield
,但是我不知道如何在我的项目中实现。
我将在我想要实现的地方添加源代码来完成这个问题。
Html.X().ComboBoxFor(m => m.LST_CONTACTO_ASOCIADO_RECEPTOR)
.ID("LST_CONTACTO_ASOCIADO_RECEPTOR")
.Editable(false)
.FieldLabel("Destinatario *")
.DisplayField("DE_EMAIL")
.ValueField("ID_CONTACTO")
.MultiSelect(true)
.Flex(1)
.MsgTarget(MessageTarget.Under)
.TypeAhead(false)
.ListConfig(Html.X().BoundList()
.LoadingText("Buscando...")
.ItemTpl(Html.X().XTemplate()
.Html(
@<text>
<div class="search-item-nombre">
{DE_APELLIDOS}, {DE_NOMBRE}
</div>
<div class="search-item-mail">
{DE_EMAIL}
</div>
</text>
)
)
)
.Store(
Html.X().Store()
.Model(
Html.X().Model()
.IDProperty("ID_CONTACTO")
.Fields(
Html.X().ModelField().Name("ID_CONTACTO"),
Html.X().ModelField().Name("DE_NOMBRE"),
Html.X().ModelField().Name("DE_APELLIDOS"),
Html.X().ModelField().Name("DE_DNI"),
Html.X().ModelField().Name("DE_EMAIL")
)
)
.Proxy(
Html.X().AjaxProxy()
.Url(Url.Content("~/User/ListAgenda"))
.Reader(Html.X().JsonReader().RootProperty("data"))
)
.Listeners(ls =>
{
ls.Load.Fn = "st_destinatario_load";
})
.ShowWarningOnFailure(false)
.AutoLoad(true)
)
.Listeners(ls =>
{
ls.TriggerClick.Handler = "this.removeByValue(this.getValue());this.clearValue();";
}),
此代码是图片中出现的组合框,我想更改它。
尝试使用Html.X().TagField(),就像@pagep建议的那样!没有 TagFieldFor() 但您可能需要的是:
Html.X().TagField().Items(Model.LST_CONTACTO_ASOCIADO_RECEPTOR)
不幸的是,Ext.NET MVC 示例资源管理器中没有使用 MVC RazorView 语法的 TagField 示例,但我可以在此论坛帖子中找到一个很好的 MVC 示例:https://forums.ext.net/showthread.php?28078&p=125105&#帖子125105
可以在 WebForms Examples Explorer 上找到几个示例(WebForms 格式),这可能正是您在 MVC Razor 中使用该组件之前需要的想法(移植应该很简单)。这是示例链接:http://examples4.ext.net/#/Form/Tag/TagField/