小编Ivy*_*Ivy的帖子

使用ASP.NET MVC验证与jquery ajax?

我有这样简单的ASP.NET MVC动作:

public ActionResult Edit(EditPostViewModel data)
{

}
Run Code Online (Sandbox Code Playgroud)

EditPostViewModel具有验证属性是这样的:

[Display(Name = "...", Description = "...")]
[StringLength(100, MinimumLength = 3, ErrorMessage = "...")]
[Required()]
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)

在视图中,我使用以下帮助程序:

 @Html.LabelFor(Model => Model.EditPostViewModel.Title, true)

 @Html.TextBoxFor(Model => Model.EditPostViewModel.Title, 
                        new { @class = "tb1", @Style = "width:400px;" })
Run Code Online (Sandbox Code Playgroud)

如果我在表单上提交此文本框放在验证中,将首先在客户端上完成,然后在service(ModelState.IsValid)上完成.

现在我有几个问题:

  1. 这可以与jQuery ajax提交一起使用吗?我正在做的只是删除表单,然后单击提交按钮javascript将收集数据,然后运行$.ajax.

  2. 服务器端会ModelState.IsValid工作吗?

  3. 如何将验证问题转发回客户端并将其呈现为使用build int validation(@Html.ValidationSummary(true))?

Ajax调用示例:

function SendPost(actionPath) {
    $.ajax({
        url: actionPath,
        type: 'POST',
        dataType: 'json',
        data:
        {
            Text: $('#EditPostViewModel_Text').val(), …
Run Code Online (Sandbox Code Playgroud)

validation ajax asp.net-mvc jquery

116
推荐指数
4
解决办法
13万
查看次数

如何使用EntityFramework调用存储过程?

我已经从MySQL数据库生成了EF4模型,并且我已经包含了StoredProcedures和Tables.

我知道如何针对EF进行定期检查/更新/获取/删除操作,但我找不到我的StoredProcedures.

这就是我所希望的:

using (Entities context = new Entities())
{
    context.MyStoreadProcedure(Parameters); 
}
Run Code Online (Sandbox Code Playgroud)

编辑1:

这是没有EF的情况:

sqlStr = "CALL updateGame(?,?,?,?,?,?,?)";

commandObj = new OdbcCommand(sqlStr, mainConnection);
commandObj.Parameters.Add("@id,", OdbcType.Int).Value = inGame.id;
commandObj.Parameters.Add("@name", OdbcType.VarChar, 255).Value = inGame.name;
commandObj.Parameters.Add("@description", OdbcType.Text).Value = ""; //inGame.description;
commandObj.Parameters.Add("@yearPublished", OdbcType.DateTime).Value = inGame.yearPublished;
commandObj.Parameters.Add("@minPlayers", OdbcType.Int).Value = inGame.minPlayers;
commandObj.Parameters.Add("@maxPlayers", OdbcType.Int).Value = inGame.maxPlayers;
commandObj.Parameters.Add("@playingTime", OdbcType.VarChar, 127).Value = inGame.playingTime;    

return Convert.ToInt32(executeScaler(commandObj));
Run Code Online (Sandbox Code Playgroud)

PS.如果需要,我可以更改EF版本

编辑1:

CREATE DEFINER=`106228`@`%` PROCEDURE `updateGame`(
    inId INT,
    inName VARCHAR(255),
    inDescription TEXT,
    inYearPublished DATETIME,
    inMinPlayers INT,
    inMaxPlayers INT,
    inPlayingTime VARCHAR(127)
)
Run Code Online (Sandbox Code Playgroud)

c# mysql stored-procedures entity-framework

35
推荐指数
4
解决办法
11万
查看次数

无法在主机上加载程序集WebPages.Deployment版本2?

我有一个ASP.NET MVC 2网站(VS2010),我已升级到ASP.NET MVC 3(VS2012),这可以在本地IIS7上运行,但在发布时我在主机上得到此异常:

 Could not load file or assembly 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

在一些seartch之后,我发现表明我应该在一些引用上设置CopyLocal(包含System.Web.WebPages)并且还使用VS2012中的发布工具,但这会产生以下异常?

Could not load file or assembly 'System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

我找不到任何部署DLL来设置copyLocal?

我该怎么解决这个问题?

iis asp.net-mvc hosting .net-assembly visual-studio

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

X已经包含带有EntityFramework的定义Y?(简单数据库)

我的MS SQL数据库中有3个表,我已经在我导入这3个表的项目中添加了EntityFramework(最新).第一个问题是没有建立任何实体,所以我将"代码生成策略" None改为Default.

建成之后,我得到了

X已经包含Y的定义

在实体的所有属性上.

当仔细观察时,它会产生一个部分ex Users.cs和一个部分Userin MainModel.Designer.cs

为什么会产生User.cs?我在另一个项目中有类似的设置,EF设置相同的设置,没有User.cs

Edit1:我可以看到一个不同的东西,那就是在失败的项目中使用强空间类型设置为False,但是不能将它设置为true(灰色)?

.net c# entity-framework entity-framework-5

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

从Application_Start中获取网站的URL?

嗨,

我需要为我的APS.NET MVC 3网站中的操作生成正确的URL,这必须在Gloabl.asax的Application_Start中完成.

我试过设置一个UrlHelper,但是HttpContext.Current总是为空?

我寻找的地址是这样的:http://www.mysite.se/MyController/MyAction.

我也试过VirtualPathUtility.ToAbsolute("〜/"),但这只会给我"/ mysite /"

url asp.net-mvc routing

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

Webform中的HTML帮助程序?

我有一个旧网站,我想使用像HTML帮助程序之类的东西来生成特殊的HTML(在这种情况下是复杂的按钮).我知道这在ASP.NET MVC中是如何工作的,但我怎么能在Webform(而不是Razor)中做到这一点.

我已经读过有关静态方法的建议,如下所示:

public class Helpers
{
    public static string Label1(string target, string text)
    {
        return String.Format("<label for= '{0}'>{1}</label>", target, text);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如何在Webform中使用它?

最好的祝福

.net c# asp.net webforms helpers

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

ASP.NET MVC在主机上运行缓慢?

我已将我的ASP.NET MVC(3)站点上传到我的主机,但它在所有页面的首次加载时很慢(即使没有数据提取)?

我第一次访问startpage它需要7.30 s,如果我在1分钟后点击reaload将需要1.05 s,如果我重复点击reaload它会给我500 ms和之间800 ms.

如果我在大约5分钟之后返回并点击重载,我会7 s再次加载?

如果我从我的localhost(IIS7)运行相同的websight,我将1 s第一次650 ms获得快速重新加载.

网页使用的是数据库,但在两种情况下都是相同的数据库(放在我的主机上).

该网页是www.biss.se

我应该在哪里开始看?

编辑:

这是我的Application_Start()

protected void Application_Start()
{
    AccountModel accountModel = new AccountModel();
    AreaRegistration.RegisterAllAreas();

    RegisterRoutes(RouteTable.Routes);
    MappingHandler.RegisterMappings();

    #region Register Extra DataNotations for Display Attribute
    ModelMetadataProviders.Current = new DisplayMetaDataProvider();
    #endregion


    if (!accountModel.CheckIfAdminAccountExists("adminAccount"))
    {
        accountModel.CreateUser("adminAccount",
                                    "Admin",
                                    "Admin",
                                    "",
                                    "",
                                    postCode: "",
                                    locationId: "",
                                    inactive: false,
                                    siteRole: Controllers.SiteRoles.Admin,
                                    activatedByUser: true);
    }

}
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc performance

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