有没有人知道是否存在某种类型的antlr-grammars在线测试环境,我可以根据某些输入字符串验证和测试给定的语法......?
很高兴得到任何帮助!
我正在构建一个托管在Windows服务中的WCF 服务.通过使用代理,ASP.Net应用程序调用WCF服务.
using (WcfServiceRef.MonitorClient proxy = new WcfServiceRef.MonitorClient())
{
//WCF Service proxy
proxy.Open();
proxy.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
此外,我有一个Singleton类DataAdapter,在这样的WCF服务中使用(大多数时候它只是将调用转发到DataAdapter,以便能够轻松地更改实际数据访问的实现):
DataAdapter.GetInstance().DoSomething();
Run Code Online (Sandbox Code Playgroud)
我的DataAdapter看起来像这样,并保存myData,它应该保持活着:
public static DataAdapter DataAdapterInstance;
private List<CustomObjects> myData;
internal static ServiceAdapter GetInstance()
{
if (DataAdapterInstance == null)
{
DataAdapterInstance = new DataAdapter();
}
return DataAdapterInstance;
}
Run Code Online (Sandbox Code Playgroud)
现在,我遇到了麻烦:(我不确定我写的所有内容是否正确)
我的DataAdapter(包含我的所有数据)什么时候"死"...所以我在这里问的是当对象实际上没有引用时,它的生命周期是什么.(我会说每当垃圾收集器运行时都会收集它) - 我认为我的方法不太好,我会很感激有关如何存储我的数据的任何建议(首选不使用数据库或外部文件)
感谢您关注我的问题!
我有一个带有一些列的网格,其中一列是foreignKey列.
我想在组合框中显示该列的所有可能值.ViewData["States"]是一个IList<State>涉及国家有一个Id字段和Name领域.
为此,我修改了模板"GridForeignKey.cshtml",如下所示:
@model object
@(
Html.Kendo().ComboBoxFor(m => m)
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") +
"_Data"]).Filter(FilterType.Contains).Placeholder("Select...")
)
Run Code Online (Sandbox Code Playgroud)
我的视图如下所示:
<div class="contentwrapper">
@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@(
Html.Kendo().Grid<CustomerModel>()
.Name("Grid")
.Columns(columns => {
columns.Bound(p => p.Name);
columns.ForeignKey(p => p.StateId, (IEnumerable)ViewData["States"], "Id", "Name");
columns.Bound(p => p.StreetAddress).Width(140);
columns.Bound(p => p.Zip).EditorTemplateName("Integer");
columns.Command(command => { command.Edit(); command.Destroy(); });//edit and delete buttons
})
.ToolBar(toolbar => toolbar.Create())//add button
.Editable(editable => editable.Mode(GridEditMode.InLine))//inline edit
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax() …Run Code Online (Sandbox Code Playgroud) 我有一个FormView,我有几个字段.这些字段应该由asp.net验证器验证,如下所示:
<asp:FormView ID="OrderDetails" runat="server" DataKeyNames="ID" DataSourceID="DS_Order" DefaultMode="Edit" AutoGenerateRows="false" ClientIDMode="Static" RenderOuterTable="false">
<EditItemTemplate>
<asp:TextBox ID="EinkaufsauftragsNr" runat="server" ClientIDMode="Static" Text='<%# Bind("EinkaufsauftragsNr") %>'/>
<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt." CssClass="validator" />
.....
</EditItemTemplate>
</FormView>
Run Code Online (Sandbox Code Playgroud)
但是当我执行它时,我得到:"输入参数'controlId'不能是空字符串." 当我删除验证器时,error-msg也会消失.
在网上搜索这个问题后,我认为问题是在formview中找不到控件,所以我把clientidmode ="static"放在那里 - >但这并没有解决我的问题.关于如何解决这个问题,您有什么其他建议吗?
我有一个kendoUI下拉列表定义如下:
@(Html.Kendo().DropDownList()
.Name("EditGroupSelector")
.BindTo(Model.Groups)
.Events(
events => events
.Select("onEditGroupSelected")
)
)
Run Code Online (Sandbox Code Playgroud)
我知道当我调用api时,select事件不会被触发,如下所示:
editGroupSelector.select(0);
Run Code Online (Sandbox Code Playgroud)
手动选择第一项后,我想手动触发选择事件:
editGroupSelector.trigger("select");//api calls dont trigger events -> trigger it manually
Run Code Online (Sandbox Code Playgroud)
这会调用事件,但在事件处理程序中,我没有事件,因此无法获取新选择的值:
function onEditGroupSelected(e) {
var nameOfGroup = e.item.text();//e.item does not exist when triggered manually
}
Run Code Online (Sandbox Code Playgroud)
我如何触发事件,以便我可以在我的事件处理程序中实际使用"e.item"?
asp.net ×2
c# ×2
kendo-ui ×2
antlr ×1
asp.net-mvc ×1
grid ×1
parsing ×1
service ×1
singleton ×1
validation ×1