小编Tra*_*ffy的帖子

MVC 4使用局部视图进行验证

我正在使用MVC 4和Entity Framework来开发一个Web应用程序.我正在使用加载了javascript的部分视图.其中之一是包含验证的创建视图.这就是我的问题:验证.我有一个自定义验证逻辑,例如,如果用户在某个字段(如"名称")中输入某些数字,则会显示错误.

在这里,使用部分视图,它将我的部分视图重定向到显示的错误,但我想要做的是保持在我的主视图(索引视图)并保留显示错误的部分视图.

编辑:

这是我的部分观点:

@model BuSIMaterial.Models.Person

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Person</legend>

        <div class="editor-label">
            First name : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.FirstName, new { maxlength = 50 })
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>

        <div class="editor-label">
            Last name : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.LastName, new { maxlength = 50 })
            @Html.ValidationMessageFor(model => model.LastName)
        </div>

        <div class="editor-label">
            National number : 
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.NumNat, new { maxlength = 11 })
            @Html.ValidationMessageFor(model => model.NumNat)
        </div>

        <div class="editor-label">
            Start …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-mvc jquery partial-views

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

Group By 子句导致错误

所以这里是上下文:开发 ASP.NET MVC 4 web 应用程序,我在我的数据库中有一个表ProductAllocations,它由 2 个外键组成:一个来自我的表Products另一个来自表Persons。我有另一个表,车辆,其中包含表产品的外键

我想选择按产品分组的分配及其信息(一个产品可以多次分配)。这是我的存储过程:

ALTER PROCEDURE GetAllVehicles

AS

BEGIN

    SET NOCOUNT ON 

    SELECT 

    p.FirstName,
    p.LastName,
    pa.EndDate,
    pr.PurchaseDate,
    pr.SerialNumber,
    pr.CatalogPrice,
    v.PlateNumber,
    v.FirstCirculationDate,
    V.FirstDrivingTax,
    v.UsualDrivingTax

    FROM bm_ProductAllocations AS pa

    INNER JOIN bm_Persons AS p ON pa.Id_Person = p.Id_Person
    INNER JOIN bm_Products AS pr ON pa.Id_Product = pr.Id_Product
    INNER JOIN bm_Vehicles AS v ON pr.Id_Product = v.Id_Product

    GROUP BY pa.Id_Product

END
Run Code Online (Sandbox Code Playgroud)

但是,Group By 子句生成错误:Column 'bm_Persons.FirstName' is invalid …

sql t-sql sql-server stored-procedures

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

ASP.NET MVC4 - 限制未登录用户的所有页面

我正在使用ASP.NET MVC 4来构建一个简单的Intranet Web应用程序.我已经建立了登录系统并配置了RouteConfig.cs以将登录视图显示为"主页".

我的问题很简单:我还有其他观点,如果他们没有登录,"访客"就无法访问.为了执行测试,我尝试直接通过URL访问这些页面并且它可以工作.如何通过阻止访问所有页面(登录页面除外)来确保这一点?

我已经阅读了有关Web.config和授权的内容,但没有任何效果.有帮助吗?

编辑:正如Khanh TO所说,使用AutorizeAttribute是最好的方法.但是,我还有一点问题.当我以简单用户身份登录时,我应该无法看到管理页面(就是这种情况)但是当我尝试这样做时,它会将我重定向到登录页面(我已经登录了!) .我认为这是因为下面的代码.问题是,如果用户试图尝试未经授权的页面,我想重定向到主页.可以这样做吗?

这是我所说的代码:

<authentication mode="Forms">
      <forms loginUrl="~/User/Login" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

此外,我想要精确地将我的用户存储到一个简单的表中,其中角色由bool类型定义(isAdmin以了解用户是否是管理员).

c# security authentication asp.net-mvc

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

将表示毫秒的字符串转换为Date

我正在尝试转换一个字符串,它表示一个毫秒格式的日期,如下所示:

var start = new Date(s);
Run Code Online (Sandbox Code Playgroud)

但是,似乎它不起作用,因为当我试图显示日期时,我有"无效日期"作为错误消息.

我想得到的是这种格式的日期:

Wed May 07 2014 09:00:00
Run Code Online (Sandbox Code Playgroud)

这可能吗?

编辑:s变量的原始值是由13个数字组成的字符串(例如:13982762900000)

javascript jquery datetime

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

ASP.NET MVC - 未捕获的ReferenceError:即使我包含库,也没有定义jQuery

我正在使用ASP.NET MVC 4,我正在尝试将JavaScript中的值传递给Controller Action.这是我在JavaScript中尝试做的事情:

function DoubleClick() {
    debugger;
    var id = 1;
    $.ajax({
        type: "POST",
        url: "/Home/GetAppId",
        data: { id: id}
    });
}
Run Code Online (Sandbox Code Playgroud)

我的行动(非常简单的行动):

public JsonResult GetAppId(int id)
{
    //some code will be included here
}
Run Code Online (Sandbox Code Playgroud)

在我的布局模板中,我正确地包含了我的脚本(实际上我在一些ohter页面中使用JS并且它有效):

    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery.validate.globalize.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/jquery-ui-1.10.4.custom.min.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-ui-1.10.4.custom.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/DatePickerReady.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

当我打开Chrome开发工具(F12)时,我在控制台选项卡中看到以下错误消息:

未捕获的ReferenceError:未定义jQuery

我真的不知道问题出在哪里.任何的想法?

javascript asp.net asp.net-mvc jquery asp.net-mvc-4

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

MVC 4 - 实体框架,ViewModel和对象上下文

我正在使用Entity Framework和MVC 4来开发Web应用程序.我还使用名为VehicleTypeViewModel的ViewModel,它是这样创建的:

public class VehicleTypeViewModel
{
    public VehicleType VehicleType { get; set; }

    public ProductType ProductType { get; set; }

    [RegularExpression(@"^[a-zA-Zàéèêçñ\s][a-zA-Zàéèêçñ\s-]+$", ErrorMessage = "Invalid name !")]
    public string Name { get; set; }

    [Range(0, 300)]
    public int CO2 { get; set; }

    public List<SelectListItem> ProductCompanies { get; set; }

    public List<SelectListItem> MotorTypes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的编辑操作中,一切都很好,但有一点:当我调试,到达该db.Attach(...)步骤时,我的应用程序抛出一个异常,说:

The object cannot be attached because it is already in the object context. An object can only be reattached …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework

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

ASP.NET Webforms - 使用 AJAX 调用 C# 方法

我在 aspx 上有一个 asp 按钮:

<asp:Button id="btnReport2" name="btnReport2"  runat="server"  class="gradientBlueBtn" Text="Show Report" OnClientClick="Alert();" ToolTip="Report"/>
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在调用一个使用 AJAX 调用 C# 方法的 javascript 函数。我这样做:

<script>
    function Alert()
            {
                $.ajax({
                    type: "POST",
                    url: "Selection.aspx/GetReport",
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function()
                    {
                        alert('success');
                    },
                    error: function()
                    {
                        alert('error');
                    }
                });

            }
</script>
Run Code Online (Sandbox Code Playgroud)

问题是,当我单击按钮时总是收到错误消息。有什么我做错了吗?

编辑:C# 方法。我已经放置了一个断点来查看该方法是否被调用,但显然不是。

public void GetReport()
{
    AddFilters();
    decimal localCurrencyRate;            
    App_Data.BulkImportDSTableAdapters.ClientsTableAdapter tadptClients = new  App_Data.BulkImportDSTableAdapters.ClientsTableAdapter();
    string legalEntityID = string.Empty;           
    if (txtSrcSys.Text != null)
    {
        DataTable dtSSYS = tadptClients.GetLegalEntityID(txtSrcSys.Text);
        if (dtSSYS.Rows.Count > 0) …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net ajax jquery

0
推荐指数
2
解决办法
6443
查看次数

C# - DateTime.Parse从字符串不起作用

我得到了一个字符串格式的DateTime:

"05/30/2014 12:00:00"
Run Code Online (Sandbox Code Playgroud)

我想通过这样做从这个字符串创建一个DateTime对象:

DateTime startDate = DateTime.Parse(startDate);
Run Code Online (Sandbox Code Playgroud)

但是,我有一个错误,说这个方法有一些无效的参数:

Error 1 - The best overloaded method match for 'System.DateTime.Parse(string)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

当我正在阅读文档时,字符串参数绝对是一个很好的论据.我正在做什么有什么问题?

c# datetime

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