我有一个MVC3应用程序,它有一个详细信息页面.作为其中的一部分,我有一个描述(从数据库中检索)有空格和新行.渲染时,html会忽略新的行和空格.我想编码那些空格和新行,以便它们不被忽略.
你是怎样做的?
我尝试了HTML.Encode,但它最终显示了编码(甚至没有在空格和新行上,而是在其他一些特殊字符上)
我正在使用twitter bootstrap来处理我正在进行的项目.
我有一个模态窗口,它有一个更长的形式,我不喜欢,当窗口太小时,模态没有滚动(如果只是消失在我的页面不可滚动).
为了解决这个问题,我使用了以下css
.modal {
overflow-y:auto;
max-height:90%;
margin-top:-45%;
}
Run Code Online (Sandbox Code Playgroud)
这完全按照我想要的方式在Chrome中运行(也就是说,当窗口足够大时,窗体是完整大小,但随着窗口缩小模态收缩并变得可滚动).问题是在IE中,模态不在屏幕上.有没有人有更好的解决方案来解决这个问题?
我的例子可以在tinyhousemap.com找到(点击导航窗口中的"在地图上添加一个条目"以显示模态)
谢谢
我的ItemsControl用户控件中有一个滚动浏览器,当它变得太大时(太大的内容大于可视区域UserControl).问题是它所有的网格都在不断扩展,以便滚动查看器永远不会启动(除非我为网格指定了精确的高度).请参阅下面的代码,并提前感谢.
<UserControl x:Class="BusinessObjectCreationWizard.View.TableSelectionPageView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<GroupBox FontWeight="Bold" Height="300px"
Header="Tables"
Padding="2">
<ScrollViewer>
<ItemsControl FontWeight="Normal"
ItemsSource="{Binding Path=AvailableTables}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Path=DisplayName}"
IsChecked="{Binding Path=IsSelected}"
Margin="2,3.5" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</GroupBox>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
此处加载此用户控件
<Border Background="White" Grid.Column="1" Grid.Row="0">
<HeaderedContentControl Content="{Binding Path=CurrentPage}"
Header="{Binding Path=CurrentPage.DisplayName}" />
</Border>
Run Code Online (Sandbox Code Playgroud)
我想不指定高度.
在我的ViewModel中,我有一个项目列表,我希望在视图中绑定一个网格(项目将是网格子项).该列表是项目的视图模型列表.
如何将网格绑定到列表(我可以在代码中访问.children但不能访问xaml)?此外,如何为列表中的视图模型指定数据模板(另一个xaml文件),以便在网格中正确呈现它们.
谢谢
我有一个repository(CustomerRepository),它从数据层检索数据.大多数业务逻辑都在Customer存储库接受或返回的实体类()中.
但是,您在哪里放置全局实体业务逻辑(适用于所有客户)?
例如,我可能不希望将所有客户都退回给某些用户.我不想把那个逻辑放在存储库中.
我正在使用MVC4和淘汰赛.我在页面上有一个表单,该表单是一个强类型的视图模型.在该视图模型中,我定义了一些验证,例如:
[Required(ErrorMessage = "Title is required")]
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果我在没有填写必填字段的情况下对表单执行标准发布,我的操作会看到模型无效并返回到视图,并且显示主验证消息,因为我@Html.ValidationSummary在表单中.单个字段也标记为无效(带有消息),因为我已@Html.ValidationMessageFor与该字段关联
所以我添加了淘汰赛,而不只是发布我现在打电话的表格ko.utils.postJson($("form")[0], self);.现在大多数都可以工作,如果我发布了未填充所需字段的表单,我的操作会检测到模型无效并返回到视图,除非现在没有显示单个验证消息.
帖子前填写的字段也会丢失.我尝试通过读取mvc viewmodel并将变量设置为这样的值来解决这个问题.
var model = @Html.Raw(Json.Encode(Model));
Run Code Online (Sandbox Code Playgroud)
然后在我的淘汰视图模型中设置该值
self.Title = ko.observable(model.Title);
Run Code Online (Sandbox Code Playgroud)
但是当我输入'1'时,当失败的帖子返回时,它会用'"1"填充字段.
这不是一个形式太复杂,所以如果可以避免,我不想引入一些新的验证层.我不介意有一个验证的帖子.
谢谢,丹
MVC3中的默认模板在登录页面的查询字符串中设置"returnurl"变量.然后该页面回发给控制器
@using (Html.BeginForm()) {
Run Code Online (Sandbox Code Playgroud)
然后在控制器中拾取它就像这样
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
Run Code Online (Sandbox Code Playgroud)
我想在表单中添加一个CSS类,所以我将帮助器更改为:
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "form-horizontal" }))
Run Code Online (Sandbox Code Playgroud)
但现在查询字符串中的信息未在控制器中设置.
我总是可以在表单中为retrunurl设置一个隐藏的输入值,但我不知道是否有更简单的方法.
谢谢
css ×2
wpf ×2
bind ×1
controller ×1
grid ×1
html ×1
knockout.js ×1
line-breaks ×1
mvvm ×1
newline ×1
post ×1
query-string ×1
razor ×1
repository ×1
validation ×1
whitespace ×1
xaml ×1