小编cho*_*obo的帖子

在哪里以及如何验证和映射ViewModel?

我正在尝试学习领域驱动设计,并且最近读到许多人提倡为您的视图创建一个ViewModel,它存储您想要在给定视图中显示的所有值.

我的问题是如何进行表单验证?我应该为每个视图创建单独的验证类,还是将它们组合在一起?我也对代码中的内容感到困惑.

这就是我目前认为验证和视图模型适合于事物的方案:

查看(一些用户输入) - > Controller - > FormValidation(ViewModel) - >(如果有效映射到ViewModel到域模型) - >域层服务 - >基础结构

谢谢!

PS我用C#使用Asp.net MVC

validation asp.net-mvc domain-driven-design viewmodel

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

如何在asp.net webforms中使用ajax

有没有办法使用ajax我正在使用Jquery这个用asp.net webforms而不必浏览页面生命周期?

asp.net jquery

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

TortoiseSVN 有什么好的替代品吗?

我正在使用大型 ASP.NET 网站,当文件或文件夹被移动、重命名或删除时,TortoiseSVN 会导致太多问题。它会不断锁定存储库,无论您运行清理多少次,它都希望提交或重命名那些丢失的文件。

只是没有时间坐在那里手动发出所有这些命令。有人有 TortoiseSVN 的好的替代品吗?

svn version-control tortoisesvn

6
推荐指数
1
解决办法
2万
查看次数

存储库模式和返回类型

我正在使用存储库模式,其中每个数据库表有一个存储库类.我想知道你们如何处理只需要返回特定数量的列的查询

例如,说我有以下内容

项目表 (虚构表)

ItemId
Name
PurchaseDate
Description
Price
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我使用上面的字段创建了一个名为Item.cs的对象(当前不使用orm).

如果我有多个场景我需要返回

  1. 项目Id
  2. PurchaseDate和Name的组合
  3. ItemId和价格

哪种方法最好?

  1. 从items表中获取所有字段并返回Item对象(1个repo查询)
  2. 在Repo中创建三个查询并为每个查询返回一个Item对象
  3. 在Repo中创建三个查询并仅返回所需内容?

现在假设这个场景包含一个包含超过10个字段的表.

就个人而言,我喜欢选项一,但我不确定是否有更好的方法来解决这个问题.

c# asp.net-mvc repository repository-pattern

6
推荐指数
2
解决办法
7489
查看次数

如何避免客户端和服务器端的重复html?

根据我的经验,似乎服务器和客户端模板中有很多重复的html.客户端我的意思是像Jquery模板,而服务器端我的意思是使用服务器端变量和html.

在下面的代码中,foreach循环在每个页面加载时执行,并用于创建项目列表.请注意,它包含一个带有可变占位符的html块,用于动态值.

在foreach循环下面,我们有一个具有完全相同的html结构的Jquery模板,唯一不同的是变量语法.

有没有办法"合并"它,所以我不必在两种情况下重复相同的HTML标记结构?在两种情况下都必须使用完全相同的html块似乎是错误的.

   <h1>Portfolio's</h1>
            <ul id="portfolioList" class="portfolio">
                <% foreach (Portfolio p in Portfolios)
                   {  %>        
                        <li>
                            <span class="delete">[X] </span>
                            <a href="/portfolioDetails.aspx?p=<%=p.PortfolioId %>"><%=p.Name %></a>
                        </li>
                <% } %>
            </ul>

            <!-- portfolio template -->
            <script id="portfolioTemplate" type="text/x-jquery-tmpl">
                <li>
                    <span class="delete">[X] </span>
                    <a href="/portfolioDetails.aspx?p=${PortfolioId}">${Name}</a>
                </li>
            </script>  
Run Code Online (Sandbox Code Playgroud)

html asp.net jquery templates jquery-templates

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

是否可以将对象传递给前端的usercontrol?

无论如何通过前端标签将对象传递给usercontrol?我尝试了以下但它不起作用.

后端

   public Range Range { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        // Popular channel range
        Range Range = new Range() 
        { 
            Min = 0, 
            Max = 8 
        };
    }
Run Code Online (Sandbox Code Playgroud)

前端

<uc:PopularItems Range="<%=Range %>" runat="server" />
Run Code Online (Sandbox Code Playgroud)

asp.net user-controls webforms

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

会话状态超时与空闲超时

web.config 中的会话状态超时设置与 IIS 7 空闲超时设置相同吗?如果不是,哪一个优先?我想将用户会话增加到几个小时。

asp.net session iis-7 web-config

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

POCO,行为和持久性无知

从我所读到的POCO类应该是持久性无知,不应该包含对存储库的引用.

Q1.鉴于上述情况,我将如何填充QuestionBlocks集合?我已经读过,POCO应该包含行为,所以你不要以贫血模型结束,所以我有点困惑,因为如果没有持久性,应该如何做到这一点.如果是这样的话,你会在POCO中放入什么样的行为?

例如:

 public class Survey
    {
        public int SurveyId { get; set; }
        public string Title { get; set; }
        public int BrandId { get; set; }
        public DateTime Created { get; set; }
        public List<SurveyQuestionBlock> QuestionBlocks { get; set; }

        [ResultColumn]
        public string Name { get; set; }


        /// <summary>
        /// Constructor
        /// </summary>
        public Survey()
        {
            Created = DateTime.Now;
            QuestionBlocks = new List<SurveyQuestionBlock>();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# persistence domain-driven-design poco

5
推荐指数
2
解决办法
977
查看次数

如何使用XPathDocument和C#获取节点数?

我有一个简单的xml文档,我想得到某个节点的计数.我怎样才能做到这一点?现在我使用以下语法来获取节点.

  // send request and strore in xpath doc (read-only)
    XPathDocument xDoc = new XPathDocument(requestURL);

    // Create navigator  
    XPathNavigator navigator = xDoc.CreateNavigator();

    XPathNavigator navError = navigator.SelectSingleNode("/api/error");
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

如何使用ajax重置asp.net会话?

我正在尝试使用ajax重置asp.net会话,但它无法正常工作.如何触发会话时间或IIS工作进程的重置,我需要做什么

[WebMethod]
public static bool KeepAlive()
{
      return true;
}
Run Code Online (Sandbox Code Playgroud)

asp.net ajax session

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