ASP.Net MVC - la transmission des données entre les points de Vue

Je suis en train d'essayer de créer une base de XML site web qui a accès à une URL du flux. Le flux XML est interrogé par l'ajout de paramètres d'url à l'URL courante, et je suis donc à l'aide d'un formulaire avec la méthode GET pour ajouter des paramètres à l'URL.

J'ai actuellement une propriété formulaire de recherche qui permet de rechercher des propriétés dans le fil en ajoutant xml des paramètres à l'url comme ceci:

/Vente/?minprice=300000&maxprice=500000

Cela fonctionne parfaitement et les résultats corrects sont indiqués à l'utilisateur. Cependant, si je devais utiliser un formulaire de filtre qui filtrée ces propriétés par le prix le plus élevé par exemple, le flux paramètres devaient être supprimées lorsque le filtre de formulaire est soumis. La nouvelle URL après le filtre serait par exemple:

/Vente/?priceSort=descendant

Comme vous pouvez le voir, le minprice et maxprice champs ont été supprimés, me laissant avec des propriétés.

Actuellement, pour lutter contre cela, j'utilise les sessions pour stocker les Url pour chaque page, puis de les combiner pour faire 1 url. Je comprends que l'utilisation de sessions dans MVC en fonction des applications n'est pas vraiment recommandé.

Donc, je suis vraiment demandais juste si il y a une meilleure façon de stocker l'url plutôt que d'utiliser les sessions?

Toute aide serait grandement appréciée.

Merci d'avance.

QUELQUES EXTRAITS DE CODE DU SITE:

Modèle et ViewModel

    public class ResultsViewModel 
{
public PropertyResult[] Property { get; set; } 
}
public class PropertyResult
{
public int Count { get; set; }
public int Pid { get; set; }
public int RentalPeriod { get; set; }
public string Price { get; set; }
public string Address { get; set; }
public string NameNumber { get; set; }
public string SA1 { get; set; }
public string SA2 { get; set; }
public string Town { get; set; }
public string City { get; set; }
public string County { get; set; }
public string Postcode { get; set; }
public string LocationCode { get; set; }
public string PriceText { get; set; }
public string Primary1 { get; set; }
public string Secondary1 { get; set; }
public string Secondary2 { get; set; }
public string Description { get; set; }
public string Period { get; set; }
public int Bedrooms { get; set; }
public int Receptions { get; set; }
public int Bathrooms { get; set; }
public int Garages { get; set; }
public int Gardens { get; set; }
public bool Featured { get; set; }
public int Views { get; set; }
}

Contrôleur

try
{
var xml = XElement.Load(resultsFeed);
var query = (from props in xml.Descendants("property")
select new PropertyResult
{
//property id
Pid = Convert.ToInt32(props.Attribute("id").Value),
//Rooms Count
Bedrooms = Convert.ToInt32(props.Attribute("bedrooms").Value),
Receptions = Convert.ToInt32(props.Attribute("receptions").Value),
Bathrooms = Convert.ToInt32(props.Attribute("bathrooms").Value),
Gardens = Convert.ToInt32(props.Attribute("gardens").Value),
Garages = Convert.ToInt32(props.Attribute("garages").Value),
//1 = sales prop, 4 = lettings prop
RentalPeriod = Convert.ToInt32(props.Attribute("rentalperiod").Value),
Period = props.Attribute("period").Value,
//address 
Address = props.Element("useAddress").Value,
NameNumber = props.Element("num").Value,
SA1 = props.Element("sa1").Value,
SA2 = props.Element("sa2").Value,
Town = props.Element("town").Value,
City = props.Element("city").Value,
County = props.Element("county").Value,
Postcode = props.Element("postcode").Value,
//location code
LocationCode = props.Element("locationcodes").Value,
Featured = Convert.ToBoolean(props.Attribute("featured").Value),
//description
Description = props.Element("summaryDescription").Value,
//price
Price = props.Attribute("price").Value,
PriceText = props.Element("pricetext").Value,
//images
Primary1 = "http://lb.dezrez.com/Imaging/PictureResizer.ASP?Position=1&AgentId=" + eaid + "&BranchId="+ bid + "&width=1000&Category=Primary&PropertyId=",
Secondary1 = "http://www.dezrez.com/estate-agent-software/ImageResizeHandler.do?&photoID=2&AgentID=1239&BranchID=1976&Width=1000&PropertyId=",
Secondary2 = "http://www.dezrez.com/estate-agent-software/ImageResizeHandler.do?&photoID=3&AgentID=1239&BranchID=1976&Width=1000&PropertyId=",
}).ToArray();

Vue

Je suis en train d'accéder à chaque nœud de la sorte:

@Model.Property[i].Gardens