4

看起来我们的团队维护了一个内部网,保证客户用户启用了 javascript,我们知道我们可以介入并开始更“彻底地”使用 jQuery。我们的系统非常大,因此即使我们在 ASP.NET MVC 应用程序中使用区域,但要在区域的每个子系统中添加、编辑、删除和查看数据集的页面数量确实非常大。一个区域的子系统可以有大约二十张数据表。如果有 20 个数据表,并且您有单独的页面要添加、编辑、删除和查看它们,这意味着总共有60 个页面。现在假设每个区域有 20 个子系统,那么单个区域将有 20 * 60 个页面,而我们的 Intranet 上大约有 15 个区域。你明白了,它是巨大的。

继续我的真正观点,我想通过使用 jQuery 功能来减少这一点,重定向到正确的操作并为我完成工作。现在我需要以下领域的一些指导:

  1. 如果我想删除而不使用 ASP.NET MVC 完全回发,这样做的过程是什么?这包括点击删除,它关闭并检查它是否能够删除(必须以正确的方式处理 FK 关系),然后如果能够删除它并从视图中的表中删除该行,所有这些都无需刷新页面。
  2. 如何使用 jQuery 从异步进程中调用删除操作?这样做是否明智?通常我们使用Html.ActionLink. 我必须把它包装成一个表格吗?
  3. 再次,编辑和更新也是如此,最好的方法是什么?

我正在寻找一个优雅的解决方案,并且不难为我必须这样做的每个页面申请一些东西。任何输入将不胜感激。

4

3 回答 3

3

刚刚看完一些模板的视频,你可以用 Subsonic 获得 ASP.NET MVC。虽然我还没有实现这个,甚至没有尝试过,但它看起来不可思议!看看这里


我不确定这对您来说是否可行,但我们最近有与您类似的需求,我们将主要应用程序发布为 ASP.NET MVC 应用程序(使用jQgrid),然后发布辅助 ASP.NET Web使用动态数据的我们的管理功能的表单应用程序。这非常有效,为我们节省了大量时间。

看起来DynamicData 和 MVC将在下一个版本中结合在一起。

其他阅读...
* David Hayden
* rbqsoft
* Sharp Architecture Wiki

于 2009-09-10T15:18:04.660 回答
3

我正在开发一个项目,该项目使用链接来通过 AJAX POST(无回发)触发删除操作。

$("a.deleteLink").click(function(event)
{
    event.preventDefault();
    if (confirm("Are you sure you want to delete this section?"))
    {
        //TODO Display processing indicator

        var myId = /* id of element */ ;

        $.post("/Section/Delete", { id: myId }, function(data)
        {
            if (data == "Success")
            {
                //handle success
                //TODO Fade out element using .fadeOut()
            }
            else
            {
                //handle error
            }
        });
    }
});

控制器方法只是在 /Controllers/SectionController.cs 中。只接受 POST 作为更改数据库的任何操作。

    private SectionRepository secRepo = new SectionRepository();

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Delete(long id)
    {
        Section sec = secRepo.GetById(id);

        secRepo.Delete(sec);
        secRepo.Save();

        return Content("Success");
    }
于 2009-09-10T23:44:53.233 回答
0

如果你还想把 jQuery 对话框扔到派对上,这个Ricardo Covo 的帖子做得很好

在此处输入图像描述

于 2011-04-11T14:47:42.460 回答