Request.Url.PathAndQuery
        public RedirectResult AddToCart(Cart cart, int productId, string returnUrl)
{
Product product = this.productRepository.Products
.FirstOrDefault(p => p.ProductID == productId); if (null != productId)
{
cart.AddItem(product, );
} returnUrl = this.Request["returnUrl"]; //return RedirectToAction("Index", new { returnUrl });
return Redirect(returnUrl);
}
@model Easy5.ASPMVC.SportsStore.Domain.Entities.Product

<div class="item">
<h3>
@Model.Name
</h3>
@Model.Description @using(Html.BeginForm("AddToCart", "Cart"))
{ /* 1.创建一个隐藏的字段ProductID
*/
@Html.HiddenFor(x=>x.ProductID) /* 2.实参:"returnUrl" 必须与对应的参数的参数名名一样
*/
@Html.Hidden("returnUrl", Request.Url.PathAndQuery)/*返回本页面的请求地址*/

<input type="submit" value="+ 加入购物车"/>
} <h4>
@Model.Price.ToString("c")
</h4>
</div>

        $.ajax       

@Url.Action
                        <td style="text-align: center;">
<img src="@Url.Content("~/Images/Update.png")" alt="更新" title="更新" class="UpdateShoppingCartItemButton" id="@string.Format("update_{}", item.ID)" />
</td>
<td style="text-align: center;">
<img src="@Url.Content("~/Images/Delete.png")" alt="删除" title="删除" class="DeleteShoppingCartItemButton" id="@string.Format("delete_{}", item.ID)" />
</td> @section scripts{
<script type="text/javascript">
function IsNumeric(input) {
return (input - ) == input && input.length > ;
} $(function () {
$(".UpdateShoppingCartItemButton").click(function () {
var buttonID = $(this).attr('id');
var qid = buttonID.replace('update_', 'quantity_');
var itemID = buttonID.replace('update_', '');
var quantity = $('#' + qid).val();
var postUrl = '@Url.Action("UpdateShoppingCartItem", "Home")';
var redirectUrl = '@Url.Action("ShoppingCart", "Home")'; if (!IsNumeric(quantity)) {
alert('输入的数量值必须是数值。');
return;
} var intQuantity = parseInt(quantity);
if (intQuantity <= ) {
alert('输入的数量值必须是大于或等于1的数值。');
window.location.href = redirectUrl;
return;
} $.ajax({
type: "POST",
url: postUrl,
data: { shoppingCartItemID: itemID, quantity: intQuantity },
success: function (msg) {
window.location.href = redirectUrl;
}
});
}); $('.DeleteShoppingCartItemButton').click(function () {
if (confirm('是否确定要删除所选商品?')) {
var buttonID = $(this).attr('id');
var itemID = buttonID.replace('delete_', '');
var postUrl = '@Url.Action("DeleteShoppingCartItem", "Home")';
var redirectUrl = '@Url.Action("ShoppingCart", "Home")'; $.ajax({
type: "POST",
url: postUrl,
data: { shoppingCartItemID: itemID },
success: function (msg) {
window.location.href = redirectUrl;
}
});
}
});
});
</script>
}

【Asp.Net-- 杂七杂八】的代码的更多相关文章

  1. ASP.NET中使用代码来进行备份和还原数据库

    ASP.NET中使用代码来进行备份和还原数据库  SQL代码: 1 2 3 4 5 -- 备份数据库 backup database db_CSManage to disk='c:\backup.ba ...

  2. Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容

    Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器,用于代码压缩. /*页面压缩 筛选器*/ public class WhiteSpaceFilter : Stream { privat ...

  3. IIS ASP.NET 版本转换批处理代码

    原文 IIS ASP.NET 版本转换批处理代码 用来转换asp.net版本的代码,需要的朋友可以参考下. 标识符的查看方法:iisaspnet.bat代码 复制代码代码如下: @echo off e ...

  4. 最新版 INSPINIA IN+ - WebApp Admin Theme v2.7.1,包含asp.net MVC5示例代码,做管理系统最佳的选择。

    下载地址:http://download.csdn.net/download/wulang1988/10039402 最新版 INSPINIA IN+ - WebApp Admin Theme v2. ...

  5. IE浏览器如何调试Asp.net的 js代码

    不管我们开发什么项目,都需要使用调试.后端的调试比较简单.前端js调试稍微复杂了一点,但是也别怕,因为我们有很多调试前端js代码的浏览器工具.比如IE浏览器.firefox浏览器.chrome浏览器等 ...

  6. 【转载】ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)

    ASP.NET 内联代码.内联表达式.数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号) 今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对 ...

  7. ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)

    今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对ASP.NET 内联代码.内联表达式.数据绑定表达式的概念进行罗列,详细概念以及基本的用法我就不在这里罗嗦了,请 ...

  8. ASP.Net 打通服务器代码和前台界面的特殊符号

    1.<% %>用来绑定后台代码 如: < % ;i<;i++) { Reaponse.Write(i.ToString()); } %> 2.<%# %> 是 ...

  9. ASP.NET 一句代码实现批量数据绑定

    摘要:对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定.如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定,作者开发了的插 ...

  10. ASP.NET Razor——ASP.NET Razor - C#代码语法

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic). 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 ...

随机推荐

  1. MVC项目页面获取控制器的信息

    页面获取控制器的名字: @{ if (ViewContext.RouteData.Values["controller"].ToString()=="Home" ...

  2. hdu 1716(dfs)

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1716     排列2   Problem Description Ray又对数字的列产生了兴趣:现 ...

  3. tar命令: 对某目录文件打tar包时,排除指定的目录或文件

     如某当前目录存在以下文件或目录: 1.txt2.txt3.txtdir1dir2my2015.tarmy2016.tar 若要对当前目录除1.txt 和dir1.tar外,打包tar 步骤一.建立e ...

  4. libjpeg 交叉编译动态库和静态库

    1.下载libjpeg库,解压之     得到了jpeg6b和libtool-2.2.4两个文件夹. 2.编译安装libtool工具.   这是配置libtool,这里需要注意:configure 参 ...

  5. 一个小makefile程序

    刚刚开始学习linux下的程序,总需要自己写一些小型的makefile文件,这里给出一个makefile的例子,方便以后借鉴. 程序包含了main.c(需要头文件input.h 和 display.h ...

  6. 济南学习 Day 2 T3 pm

    它[问题描述]N个人坐成一圈,其中第K个人拿着一个球.每次每个人会以一定的概率向左边的人和右边的人传球.当所有人都拿到过球之后,最后一个拿到球的人即为胜者.求第N个人获胜的概率. (所有人按照编号逆时 ...

  7. C指针赋值

    Node* p = A; Node* f = B; Node* t; t = p; t = f 本人试图让p指向B,但这样操作是不行的.如下图:只是改变了t的指向,p并没有变

  8. CentOS 6.4 升级 Mysq5.5l方法 和 用户远程登录数据库

    一:.在这里我们都知道 系统的yum源Mysql版本一般都是5.1 5.2的比较多 但是有些程序 必须要5.5以上的版本才能支持 这时候我们应该怎么办呢  编译安装也太慢 太费时间  那么我们就必要要 ...

  9. [大牛翻译系列]Hadoop(2)MapReduce 连接:复制连接(Replication join)

    4.1.2 复制连接(Replication join) 复制连接是map端的连接.复制连接得名于它的具体实现:连接中最小的数据集将会被复制到所有的map主机节点.复制连接有一个假设前提:在被连接的数 ...

  10. 关于SQLite的创建以及使用相关说明

    关于SQLite的创建以及使用相关说明 没有给出具体的程序,但看完这后可能对你有所帮助. 数据库操作基本知识: execSQL(String sql): 执行一个数据库语句 insert(table, ...