我有一个类似的模型:
public class myModel
{
public ClassA ObjectA {get; set;}
public ClassB ObjectB {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
在我的主视图中,我有类似这样的标签:
<div id="section1">
<%=Html.EditorFor(m => m.ObjectA)%>
</div>
<div id="section2">
<%=Html.EditorFor(m => m.ObjectB)%>
</div>
Run Code Online (Sandbox Code Playgroud)
ClassA和ClassB都定义了编辑器模板.
我创建了一些JavaScript,它使Ajax调用重新加载section1 div.我希望action方法返回EditorTemplates文件夹中ObjectA,ClassA.ascx的编辑器.
我的Action方法中有以下内容:
public ActionResult GetData(int input)
{
// Process input here and create modelData
return PartialView("ClassA", modelData);
}
Run Code Online (Sandbox Code Playgroud)
这会产生错误,因为它无法找到ClassA视图.
我的解决方案是在Views文件夹中创建一个名为"GetData"的PartialView,然后我的返回呈现GetData视图.GetData视图只有一行代码:
<%=Html.RenderForModel()%>
Run Code Online (Sandbox Code Playgroud)
这确实有效,但我想知道是否有一种方法可以返回动作方法和编辑模板?
我有一个位于/ Views/Shared中的母版页.母版页引用/Content文件夹中的样式表.
如果我使用样式表引用样式表,一切正常"../../Content/style.css".但是,我的Web应用程序不在我们的生产环境的根文件夹中,因此相对路径不起作用.
我试过"<%= ResolveUrl("〜/ content/style.css")%>"哪个在生产场景中有效,但是Visual Studio中的设计者抱怨我的类错了(我无法预览页面在设计选项卡中使用CSS).
是否有解决方案可以在两种情况下都能正常工作?我通过编写重置链接标记的服务器端代码在WebForms中实现了这一点.我可以在这做,但我想避免它.
我相信这个问题适用于任何"For"Html助手,但我的具体问题是使用CheckBoxFor ...
我有一个IEnumerable类型的模型,其中权限是一个简单的POCO.这个模型实际上是我创建一个EditorTemplate的更大模型的属性.以下是我的模型的大图:
public class bigmodel
{
public string Title {get; set;}
public string Description {get; set;}
[UIHint("ListRights")]
public IEnumerable<rights> Rights {get;set;}
}
public class rights
{
public bool HasAccess {get; set;}
public string Description {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为"ListRights"的editortemplate,我的主视图使用它.例如:<%= Html.EditorFor(m => m.Rights)%>.
在ListRights.ascx中,我想要这样的代码:
<table>
<% foreach(rights access in Model)
{ %>
<tr>
<td>
<%=Html.CheckBoxFor( access ) %>
</td>
<td>
<%=access.Description %>
</td>
</tr>
<% } %>
</table>
Run Code Online (Sandbox Code Playgroud)
我知道CheckBoxFor行不起作用,但我想做一些生成相同结果的东西,就像访问是模型上的属性一样.
在上面的例子中,我希望所有内容都能在帖子上自动查找.
我尝试使用类似于此的代码伪造CheckBox,但它不会自动查找:
<table>
<% for(int i=0; i < Model.Count(); i++)
{ %>
<tr> …Run Code Online (Sandbox Code Playgroud) 我注意到工作项可以链接到构建。但我没有看到自动将工作项链接到构建的方法。
对于拉取请求,我们要求拉取请求与工作项关联。拉取请求完成后,工作项将通过提交的链接进行更新。
如果我查看 TFS 中的分支提交历史记录,就会发现有一个构建列。我假设构建列将包含提交所在的构建,但它始终为空。
我们希望能够查看构建并了解构建中包含哪些工作项。
有没有办法做到这一点?
我需要将逗号分隔的字符串转换为泛型类中的枚举类型数组.
问题是我需要根据通用T创建一个数组.
这是我的代码:
class Program
{
static void Main(string[] args)
{
var testIt = new TestIt<TestValues[]>();
TestValues[] converted = testIt.Convert("Pizza,Sub");
}
}
public class TestIt<T>
{
public T Convert(string delimitedValues)
{
var valueType = typeof(T);
var elementType = valueType;
if (!valueType.IsArray)
{
throw new Exception("T is not an array");
}
if (valueType.HasElementType)
{
elementType = valueType.GetElementType();
}
var elements = delimitedValues.Split(',');
foreach (var elementValue in elements)
{
var newElement = Enum.Parse(elementType, elementValue.Trim(), true);
// not sure what I can do …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×2
c# ×2
.net-2.0 ×1
arrays ×1
caching ×1
enums ×1
generics ×1
html-helper ×1
master-pages ×1
memcached ×1
performance ×1
sql-server ×1
tfs ×1
tfsbuild ×1