小编rse*_*nna的帖子

具有数据属性的SelectListItem

无论如何在ViewModel上预先填充了具有数据属性的SelectList吗?

我想要做

@Html.DropdownListFor(m=> m.CityId, Model.Cities);
Run Code Online (Sandbox Code Playgroud)

所以它生成如下代码:

<select id="City" class="location_city_input" name="City">
    <option data-geo-lat="-32.522779" data-geo-lng="-55.765835" data-geo-zoom="6" />
    <option data-geo-lat="-34.883611" data-geo-lng="-56.181944" data-geo-zoom="13" data-geo-name="Montevideo" data-child=".state1" value="1">Montevideo</option>               
    <option data-geo-lat="-34.816667" data-geo-lng="-55.95" data-geo-zoom="13" data-geo-name="Canelones, Ciudad de la Costa" data-child=".state41" value="41">Ciudad de la Costa</option>
</select>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html5 html-helper selectlist custom-data-attribute

65
推荐指数
4
解决办法
5万
查看次数

空的合并操作符角度2

在角度2中等效的空合并运算符(??)是什么.

在C#中我们可以执行一个操作:

string str = name ?? FirstName ?? "First Name is null";
Run Code Online (Sandbox Code Playgroud)

null-coalescing-operator typescript angular

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

字典初始化程序在集合初始化程序中添加了哪些好处?

在最近出现了很多讨论关于C#什么新的6.0
的一个最受关注的功能是通过Dictionary在初始化C#6.0
别急,我们一直在使用集合初始化器来初始化集合,并可以很好的初始化Dictionary也.NET 4.0和.NET 4.5(不知道旧版本)之类的

Dictionary<int, string> myDict = new Dictionary<int, string>() {
    { 1,"Pankaj"},
    { 2,"Pankaj"},
    { 3,"Pankaj"}
};
Run Code Online (Sandbox Code Playgroud)

那么C#6.0中有什么新东西,他们在C#6.0中讨论的是什么字典初始化器

c# collections dictionary collection-initializer c#-6.0

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

Url编码引号和空格

我有一些使用JavaScript编码的查询文本,但我遇到了一个用例,我可能需要在服务器端编码相同的文本,并且发生的编码不一样.我需要它是一样的.这是一个例子.

我进入"I like food"搜索框并按下search按钮.JavaScript将其编码为%22I%20like%20food%22

假设我在服务器端的请求对象上获得与字符串相同的值.它看起来像这样:"\"I like food\""

当我使用时HttpUtility.UrlEncode(value),结果是"%22I+like+food%22".如果我使用HttpUtility.UrlPathEncode(value),结果是"\"I%20like%20food\""

所以UrlEncode编码我的引号,但使用+空格字符.UrlPathEncode正在编码我的空格但不编码我的转义引号.

我真的需要它来做两件事,否则搜索代码完全对我不利(我无法控制搜索代码).

提示?

c# asp.net-mvc urlencode

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

调试不显示当前存储过程版本

我正在研究SQL Server 2008 R2实例.我刚刚更改了存储过程的代码.当我尝试调试该proc时,SSMS调试窗口显示版本的代码.

我该怎么做才能强制SSMS呈现当前版本的代码?

提前致谢.

sql-server debugging sql-server-2008 sql-server-2008-r2

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

来自数据库的MVC模型验证

我有一个非常简单的模型,需要从数据库中进行验证

public class UserAddress
{
    public string CityCode {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

CityCode 可以具有仅在我的数据库表中可用的值.

我知道我可以做点什么.

[HttpPost]
public ActionResult Address(UserAddress model)
{
    var connection = ; // create connection
    var cityRepository = new CityRepository(connection);

    if (!cityRepository.IsValidCityCode(model.CityCode))
    {
        // Added Model error
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎WET就像我必须在很多位置使用这个模型并添加相同的逻辑,每个地方似乎我没有正确使用MVC架构.

那么,从数据库验证模型的最佳模式是什么?

注意: 大多数验证是从数据库中进行单字段查找,其他验证可能包括字段组合.但是现在我对单字段查找验证感到满意,只要它是DRY并且没有使用过多的反射它是可以接受的.

没有客户端验证: 对于在客户端验证方面回答的任何人,我不需要任何此类验证,我的大多数验证都是服务器端的,我需要相同的,请不要回答客户端验证方法.


PS如果有人能给我提示如何从数据库进行基于属性的验证,将会非常有用.

.net c# validation asp.net-mvc asp.net-mvc-4

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

Laravel php artisan db:seed导致"使用"语句错误

当我尝试运行时,php artisan db:seed我收到以下错误:

The use statement with non-compound name 'DB' has no effect

我根据文档片段编写了我自己的播种文件,我在下面列出了该文件.正如您所看到的,我正在使用use DB快捷方式 - 这就是问题所在吗?

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use DB;

class ClassesTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('classes')->delete();
        DB::table('classes')->insert([
            'class_name'    => 'Test course 111',
            'class_id'      => '1',
            'location_name' => 'Barnes',
            'location_id'   => '1',
            'date'          => '2015-06-22',
            'month'         => '06/2015',
            'start_time'    => '08:00',
            'end_time' …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 artisan

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

可以从NHibernate实体的构造函数中调用虚拟属性吗?

看看这个示例代码:

public class Comment
{
    private Comment()
    { }

    public Comment(string text, DateTime creationDate, string authorEmail)
    {
        Text = text;
        CreationDate = creationDate;
        AuthorEmail = authorEmail;
    }

    public virtual string Text { get; private set; }
    public virtual DateTime CreationDate { get; set; }
    public virtual string AuthorEmail { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我知道从构造函数调用虚拟成员函数被认为是不好的做法,但是在NHibernate中我需要虚拟属性来支持延迟加载.在这种情况下它被认为是好的吗?

nhibernate

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

喜欢子句和sql注入

我对这种情况有疑问.

我在存储过程中有这样的查询:

SELECT column1, column2
FROM table1
WHERE column1 like '%' + @column1 + '%'
Run Code Online (Sandbox Code Playgroud)

我的问题是,这容易受到SQL注入?我是否需要将此更改为以下内容:(?)

declare @column1Like nvarchar(200);

@column1Like = '%' + @column1 + '%'

SELECT column1, column2
FROM table1
WHERE column1 like @column1Like
Run Code Online (Sandbox Code Playgroud)

问候

sql t-sql

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

创建常量IEnumerable <TSomeType>的方法......?

也许这是一个愚蠢的问题......但是创造一个常数IEnumerable<TSomeType>...... 最好的(表现和记忆的)方式是什么?

如果无法定义"最佳"方式,哪些是我的选择?您有什么看法,您认为有最合适的方法吗?

例如:

  • var enumerable = (IEnumerable<TSomeType>) new List<TSomeType> { Value1, Value2, Value3 };
  • var enumerable = (IEnumerable<TSomeType>) new TSomeType[] { Value1, Value2, Value3 };
  • (其他一些选项;例如Linq Select).

请考虑内存和性能一个问题 - 我们谈论的是一个非常有限的环境(安装了.NET的小型设备).

提前致谢.

.net c# memory performance c#-3.0

9
推荐指数
3
解决办法
3045
查看次数