小编Joh*_*one的帖子

在jquery中使用AJAX Post从强类型MVC3视图传递模型的正确方法

我是一名新手网络程序员,所以如果我的一些"行话"不正确,请原谅我.我有一个使用ASP.NET使用MVC3框架的项目.

我正在管理视图,管理员将修改设备列表.其中一个功能是一个"更新"按钮,我想使用jquery在向MVC控制器发送帖子后动态编辑网页上的条目.

我认为这种方法在单个管理设置中是"安全的",其中对网页与数据库不同步的关注最少.

我创建了一个强类型的视图,并希望使用AJAX帖子将模型数据传递给MVC控件.

在下面的文章中,我发现了一些类似于我正在做的事情: JQuery Ajax和ASP.NET MVC3导致null参数

我将使用上面帖子中的代码示例.

模型:

public class AddressInfo 
{
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }
    public string Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Check(AddressInfo addressInfo)
    {
        return Json(new { …
Run Code Online (Sandbox Code Playgroud)

jquery asp.net-mvc-3

100
推荐指数
4
解决办法
20万
查看次数

我可以动态地将按钮添加到Jquery UI对话框吗?

我试图根据一些输入向jquery UI对话框添加一个新按钮.

我的代码看起来像这样:

function editTour(ID, myDate) {
$.post("/Admin/EditTour", { TourID: ID },
        function (data) {
            $('#EditTour').html(data);
            $('#EditTour').dialog({
                modal: true,
                width: 400,
                resizable: false,
                title: formatDate(myDate),
                buttons: {
                    "Save": function () {
                      //some junk logic removed
                     },
                    "Cancel": function () {
                        $(this).dialog("close");
                    }
                }
            });

        });   //end post
}
Run Code Online (Sandbox Code Playgroud)

如果传入的ID为0,我想在此函数中添加"删除"按钮.

我知道我可以创建editTour函数的剪切和粘贴副本,手动添加"删除"按钮......但我希望能有更清洁的东西.

jquery-ui

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

实体框架:IDENTITY_INSERT问题 - "无法在表中插入标识列的显式值"

我正在使用带有C#.NET的Entity Framework 4.0.我正在尝试创建一个"简单"的迁移工具,将数据从一个表转换为另一个表(表格不一样)

该数据库是SQL Server 2005.

我有一个类似于以下目标DB结构:

MYID - int, primary key, identity specification (yes)
MYData - varchar(50)
Run Code Online (Sandbox Code Playgroud)

在我的迁移程序中,我将DB结构导入edmx.然后我手动关闭StoreGeneratedPattern.

在我的迁移程序中,我按如下方式关闭标识列(我已经确认它确实将其关闭):

            using (newDB myDB = new newDB())
            {
                //turn off the identity column 
                myDB.ExecuteStoreCommand("SET IDENTITY_INSERT SR_Info ON");
            }
Run Code Online (Sandbox Code Playgroud)

在上面的代码之后,我有以下代码:

            using (newDB myDB = new newDB())
            {
                DB_Record myNewRecord = new DB_Record();
                //{do a bunch of processing}
                myNewRecord.MYID = 50;
                myDB.AddToNewTable(myNewRecord);
                myDB.SaveChanges();
            }
Run Code Online (Sandbox Code Playgroud)

当它到达myD​​B.SaveChanges()时,它会生成一个异常:"无法为表中的标识列插入显式值".

我知道当我手动转到SQL Server表并关闭身份规范时,代码工作正常.

我的偏好是让迁移工具处理打开和关闭身份规范,而不必在数据库上手动执行.此迁移工具将用于沙箱数据库,开发人员数据库,QA数据库,然后是生产数据库,因此完全自动化将很好.

让这个工作正常的任何想法?

我使用了以下步骤:

  1. 使用标识列创建数据库表.
  2. 在Visual Studio中,添加新的EDMX.
  3. 在EDMX上,我从数据库中选择更新模型(并选择添加所需的表)
  4. 在EDMX上,我单击MYID,在属性窗格中,我将StoreGeneratedProcedure设置为None.

此时,当我添加一个设置了MYID的新记录时,DB会使用Identity值覆盖MYID的值.

到目前为止,无论我在哪里添加"myDB.ExecuteStoreCommand("SET IDENTITY_INSERT SR_Info ON");",它的行为都是一样的.

我试过添加一个存储过程,它也无法正常工作.

我怀疑最终,迁移不会完全自动化.

c# entity-framework-4

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

以编程方式获取 IIS 服务器 URL

精简版:

如何获取正在执行我的 MVC3 项目的服务器的 URL?我不想硬编码服务器地址。

长版:

我将使用三台服务器:

  1. 开发服务器
  2. 供他人测试的 QA 服务器
  3. 生产服务器

上述服务器都没有相同的 URL。

我的网络项目需要生成包含可点击链接的通知电子邮件。

我知道 Request.Url.ToString() 将为我提供服务器,但如果可能,我宁愿每次生成电子邮件时都不花时间处理该字符串。

asp.net asp.net-mvc-3

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