在ASP.NET MVC3中这是Razor视图中的常规动作链接:
<li>@Html.ActionLink("Home", "Index", "Home")</li>
Run Code Online (Sandbox Code Playgroud)
和相关的html dom是:
<li><a href="/HomePage/">Home</a></li>
Run Code Online (Sandbox Code Playgroud)
所以如果我将css类添加到<a>元素中,我的css正常工作,如下所示:
<li><a class="MyCssClass" href="/HomePage/">Home</a></li>
Run Code Online (Sandbox Code Playgroud)
有谁知道我该怎么做?
我需要一个方法,在控制器中返回一些参数,这是它的实现:
public List<Parameter> GetParameters(FormCollection collection) {
List<Parameter> parameters = new List<Parameter>();
List<string> parameterNames = new List<string>();
//Get Parameters Names and Values
return parameters;
}
Run Code Online (Sandbox Code Playgroud)
我在所有控制器中使用此方法,所以我想我必须定义它的3个选项:
1 - 对于任何控制器类,在该控制器中定义它,如下所示:
public class ProductController : Controller {
public List<Parameter> GetParameters(FormCollection collection) {
//
}
}
Run Code Online (Sandbox Code Playgroud)
2 - 在静态类中将其定义为静态方法:
public static class GeneralMethods {
public static List<Parameter> GetParameters(FormCollection collection) {
//
}
}
Run Code Online (Sandbox Code Playgroud)
3 - 将其定义为无静态:
public class GeneralMethods {
public List<Parameter> GetParameters(FormCollection collection) {
//
}
}
Run Code Online (Sandbox Code Playgroud)
哪一个更好?哪一个有更好的表现?或许多控制器中使用的定义方法的任何其他选项?你的建议是什么?
这是我的编辑视图的一部分:
<dt>
@Html.LabelFor(model => model.MainModel.StartDate)
</dt>
<dd>
@Html.TextBoxFor(model => model.MainModel.StartDate)
@Html.ValidationMessageFor(model => model.MainModel.StartDate)
<div class="targetDiv"> My content </div>
</dd>
Run Code Online (Sandbox Code Playgroud)
因此,当你们所有人都知道StartDate我的模型中的字段无效时不显眼时会显示错误消息,如果有效则隐藏它.现在我想为此过程添加另一个操作.我需要如果StartDate值是无效的显示"targetDiv" div,如果StartDate值是有效隐藏它.你的建议是什么?
asp.net-mvc jquery unobtrusive-javascript unobtrusive-validation asp.net-mvc-3
我总是用它ModelState.IsValid来检查我在服务器端正确验证的所有模型验证,但我认为使用它有一个限制.例如,我定义了一个RemoteValidation属性,但如果我禁用,javascript那么ModelState.IsValid不要检查远程验证并始终返回true,问题在哪里?这是一个限制ModelState.IsValid或是我的错?如果有必要,我可以添加我的所有实现.
validation model-view-controller modelstate validationattribute asp.net-mvc-3
假设这个脚本:
DECLARE @result TABLE(Id BIGINT);
DELETE FROM [Products].[Product]
OUTPUT DELETED.[Id] INTO @result
WHERE [Products].[Product].[Id] = 1589;
Run Code Online (Sandbox Code Playgroud)
所以继续我尝试:
1
SELECT CAST(ISNULL([Id], -1) AS BIGINT) AS N'RetValId' FROM @result;
Run Code Online (Sandbox Code Playgroud)
当[Id]null为null时返回null(无),但是这个返回-1:
2
DECLARE @mi BIGINT;
SET @mi = (SELECT [Id] FROM @result)
SELECT CAST(ISNULL(@mi, -1) AS BIGINT) AS N'RetValId'
Run Code Online (Sandbox Code Playgroud)
为什么?第一个脚本的问题在哪里?
更新
那么有没有办法检查Deleted Id是否为null返回-1如果没有返回Id而没有声明另一个变量?什么是最简单的方法?
这些是我的项目层:
.NET Core 2.0 Web Project: UILayer
.NET Standard Class library : BusinessLayer
.NET Standard Class library : DataAccessLayer
Run Code Online (Sandbox Code Playgroud)
我将 BusinessLayer 的引用添加到 UILayer 并将 DataAccessLayer 的引用添加到 BusinessLayer
所以我希望这些层只能访问那些被引用的 dll。但现在我看到 UILayer 可以访问 DataAccessLayer!为什么?我怎样才能防止这种情况发生呢?(我的意思是物理上而不仅仅是逻辑上)
它似乎是 .NET Core 中的新功能,我看不到 .NET Framework 4.6.1 类库的相同功能。那么另一个问题是,为什么要在 ASP.NET Core 项目中添加它呢?有什么优点吗?如果我想简单地访问该项目,我可以添加参考。
我有一个带有一些属性的模型,但我只需要在List视图中显示一些它们,我还需要在创建或编辑视图中显示所有属性,这样我就可以创建一个完整的数据覆盖行,是否有任何属性强制生成器不在列表视图中显示属性.有点像这样[Display(false)]吗?
这是我的清单:
List<string> elements = new List<string> { "apple", "orange", "peach" };
Run Code Online (Sandbox Code Playgroud)
我需要一个具有此返回值的方法:
string result = "'apple', 'orange', 'peach'";
Run Code Online (Sandbox Code Playgroud)
当你看到结果添加"'"到每个字符串的第一个字符串时,也在它们的末尾,然后所有字符串都加入了", ".那你有什么建议快速流利地做到这一点?还要考虑性能问题,也许这个列表已经有很多元素,那怎么样?
这是我的类型:
public class MyObj {
public long Number { get; set; }
public string Name { get; set; }
public string Message { get; set; }
public DateTime RegisterDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我有一个列表Myobj我需要将列表拆分为一些列表,其中对象Name和Number对象的对象是相等的,有些东西像分组Name和Number:
假设此示例:
List<MyObj> MyObjects = new List<MyObj>{
new MyObj() { Number = 1, Name = "BMW", Message = "msg1", RegisterDate = DateTime.Now },
new MyObj() { Number = 1, Name = "BMW", Message = "msg2", RegisterDate …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×5
c# ×4
asp.net ×2
list ×2
razor ×2
.net-4.5 ×1
asp.net-core ×1
attributes ×1
c#-4.0 ×1
css ×1
join ×1
jquery ×1
lambda ×1
linq ×1
modelstate ×1
sql ×1
sql-server ×1
static ×1
string ×1
t-sql ×1
validation ×1