小编Dan*_*net的帖子

以HTML格式呈现字符串并保留空格和换行符

我有一个MVC3应用程序,它有一个详细信息页面.作为其中的一部分,我有一个描述(从数据库中检索)有空格和新行.渲染时,html会忽略新的行和空格.我想编码那些空格和新行,以便它们不被忽略.

你是怎样做的?

我尝试了HTML.Encode,但它最终显示了编码(甚至没有在空格和新行上,而是在其他一些特殊字符上)

html css whitespace newline line-breaks

197
推荐指数
5
解决办法
12万
查看次数

Twitter引导可滚动模式

我正在使用twitter bootstrap来处理我正在进行的项目.

我有一个模态窗口,它有一个更长的形式,我不喜欢,当窗口太小时,模态没有滚动(如果只是消失在我的页面不可滚动).

为了解决这个问题,我使用了以下css

.modal {
    overflow-y:auto;
    max-height:90%;
    margin-top:-45%;
}
Run Code Online (Sandbox Code Playgroud)

这完全按照我想要的方式在Chrome中运行(也就是说,当窗口足够大时,窗体是完整大小,但随着窗口缩小模态收缩并变得可滚动).问题是在IE中,模态不在屏幕上.有没有人有更好的解决方案来解决这个问题?

我的例子可以在tinyhousemap.com找到(点击导航窗口中的"在地图上添加一个条目"以显示模态)

谢谢

css twitter-bootstrap

83
推荐指数
5
解决办法
15万
查看次数

防止WPF控件扩展到可查看区域之外

我的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)

我想不指定高度.

wpf xaml

23
推荐指数
2
解决办法
3万
查看次数

如何将网格的子项绑定到列表?

在我的ViewModel中,我有一个项目列表,我希望在视图中绑定一个网格(项目将是网格子项).该列表是项目的视图模型列表.

如何将网格绑定到列表(我可以在代码中访问.children但不能访问xaml)?此外,如何为列表中的视图模型指定数据模板(另一个xaml文件),以便在网格中正确呈现它们.

谢谢

wpf grid bind mvvm

13
推荐指数
1
解决办法
6398
查看次数

存储库模式和业务逻辑

我有一个repository(CustomerRepository),它从数据层检索数据.大多数业务逻辑都在Customer存储库接受或返回的实体类()中.

但是,您在哪里放置全局实体业务逻辑(适用于所有客户)?

例如,我可能不希望将所有客户都退回给某些用户.我不想把那个逻辑放在存储库中.

repository repository-pattern

10
推荐指数
3
解决办法
1万
查看次数

MVC验证在Knockoutjs帖子中丢失了

我正在使用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"填充字段.

这不是一个形式太复杂,所以如果可以避免,我不想引入一些新的验证层.我不介意有一个验证的帖子.

谢谢,丹

validation asp.net-mvc-4 knockout.js asp.net-mvc-viewmodel

3
推荐指数
1
解决办法
2264
查看次数

Asp.net MVC ReturnUrl变量未在Html.BeginForm中显示方法FormMethod.Post

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设置一个隐藏的输入值,但我不知道是否有更简单的方法.

谢谢

post controller query-string razor asp.net-mvc-3

1
推荐指数
1
解决办法
1529
查看次数