C# Asp.net MVC 分页时传参场景 动态生成QueryString

1. 获得url

2.解析query string,将外部传入的匿名对象的key/value添加进去

3. 添加该页面特殊的key/value

4.合并url

var raw = HttpContext.Current.Request.Url.AbsoluteUri;
    string[] separateURL = raw.Split(‘?‘);

//if found "?" parse query string else return empty HttpValueCollection
    var queryString = separateURL.Length == 2 ? HttpUtility.ParseQueryString(separateURL[1]) : HttpUtility.ParseQueryString("");

    //used to add additional query string key/value (pass anonymous object)
    //e.g :
    //@Html.DisplayFor(x => x.Paging, new
    //        {
    //            AdditionalViewData = new {
    //            Model.OrdersFilter, Model.SearchKeyword, Model.PickupDateRange,
    //            Model.RequestDateRange, Model.DeliveryDateRange
    //        }

//pass in from outside
    if (ViewData["AdditionalViewData"] != null)
    {
        foreach (var str in ViewData["AdditionalViewData"].GetType().GetProperties())
        {
            queryString[str.Name] = (str.GetValue(ViewData["AdditionalViewData"], null) ?? string.Empty).ToString();
        }
    }

//one more specific query strings on this page
            @{
                 queryString[xxx] = yyy;
            }
////

            <a href="@string.Format("{0}?{1}", separateURL[0], queryString)">something friendly</a>
时间: 2024-11-09 21:32:09

C# Asp.net MVC 分页时传参场景 动态生成QueryString的相关文章

ASP.NET MVC 文件上传和路径处理

ASP.NET MVC 文件上传和路径处理总结 目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传地址的变化 一.上传文件和重复文件处理 文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等).采取文件的MD5重命名文件在一般情况足够处理文件的重复问题,强迫症倾向则可以考虑将MD5和其他摘要算法结合. public static string Save(HttpPost

ASP.NET MVC文件上传【转】

最近用到了文件上传功能,下面给出ASP.NET MVC文件上传的一个简单示例: 一.前端代码 @using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new {enctype = "multipart/form-data"})) { <div>文件上传:<input type="file" name="myFile"/&g

ASP.NET MVC 分页MvcPager

ASP.NET MVC 分页MvcPager 开源框架  admin  8个月前 (08-20)  1484浏览 他连续12年获得微软MPV称号,几年前,他写的ASP.NET分页控件,被很多.NET开发人员使用,现在他又写了名为MvcPager的分页扩展,并免费开源,支持MVC通用分页,与EF完美结合,支持AJAX分页,简单灵活,提供多个演示案例,是迄今为止最好的MVC分页方式,推荐各位ASP.NET MVC开发者使用. 分页是每个项目必须面对的技术点,不好的分页不但体验不好,而且会影响系统的整

Asp.Net MVC 分页、检索、排序整体实现

原文:Asp.Net MVC 分页.检索.排序整体实现 很多时候需要这样的功能,对表格进行分页.排序和检索.这个有很多实现的方式,有现成的表格控件.用前端的mvvm,用户控件.但很多时候看着很漂亮的东西你想进一步控制的时候却不那么如意.这里自己实现一次,功能不是高大全,但求一个清楚明白,也欢迎园友拍砖.前端是bootstrap3+jPaginate,后台基于membership.没什么难点. 先上效果图. 分页其实就是处理好 每页项目数.总项目数.总页数.当前页.为了方便复用,就先从仓库开始说起

ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页

我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了更为灵活的配置属性及生成规则,解决了上述问题,代码如下: 一.PageInfo类 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ROIS.Models {

【随笔系列】Asp.Net Mvc分页控件PagedList的使用方法及配置

企业在做Asp.Net Mvc开发过程中,很多时候都是一些CRUD,最基本的就是一个列表页面,然后附带一些功能按钮.如果有数据列表,大多数就会涉及到对数据进行分页,这次就介绍一下Mvc PagedList控件分页的使用方法.Github PagedList链接 . 下面我通过新建Mvc项目来展示PagedList的使用方法. 一.新建BookLibrary解决方案 确定后,选择MVC 然后点击确定. 二.添加PagedList与PagedList.Mvc的程序包. 选择BookLibrary项目

【MYSQL】在脚本中使用变量-执行脚本时传参

在shell脚本里可以定义变量,并在执行脚本时任意传参. #!/bin/bashdb_name=$1 #将第一个值赋给db_name变量sql_name=$2 #将第二个值赋给sql_name变量mysql -uroot -p123456 -h192.168.227.129 $db_name < $sql_name 在执行shell脚本时,在执行命令后面直接传参即可 ./sqlrecovery jinqy jinqy.sql

MVC中的传参并在View中获取

首先action跳转的模式有如下: redirecttoaction("index");//一个参数时在本controller下,不传入参数. redirecttoaction(actionname,controllername) //可以直接跳到别的controller. redirecttoroute(new {controller="home",action="index"});//可跳到其他controller redirecttorou

Asp.net MVC分页实例

分页是网页基本功能,这里主要讨论在Asp.net MVC环境下分页的前端实现,不涉及后台分页.实现效果如下图显示: Step 1.建立分页信息类 1 public class PagingInfo 2 { 3 public int TotalItmes { set; get; } 4 public int ItemsPerPage { set; get; } 5 public int CurrentPage { set; get; } 6 public int TotalPages 7 { 8