Hi!
ich möchte gerne dass man per URL Aufruf zu Home/Index/{Seitennr} die Seiten der letzten Beiträge durchblättern kann.
Hier mein Code
[HttpGet]
[ValidateInput(false)]
public ActionResult Index(string strpage = "1")
{
int page = 1;
if (!int.TryParse(strpage, out page)) page = 1;
nCMS_NET.CORE.GlobalSettings.GlobalSettings G = new CORE.GlobalSettings.GlobalSettings();
int max = 0;
if (String.IsNullOrEmpty(G.Read("GLOBAL_INDEX_MAX_ENTRIES"))) {
G.Write("GLOBAL_INDEX_MAX_ENTRIES", "10");
}
max = Convert.ToInt32(G.Read("GLOBAL_INDEX_MAX_ENTRIES"));
max = 1;
nCMS_NET.Content.ContentManagement.GetContent News = new nCMS_NET.Content.ContentManagement.GetContent(new string[] {
"eNews",
"eArticle"
},null,null,max);
List<nCMS_NET.Content.ContentManagement.PageInitializier> Pages = new nCMS_NET.Content.ContentManagement().GetPages(News.TotalRows, 1212, 1111, max);
if (page > 1) {
News = new nCMS_NET.Content.ContentManagement.GetContent(new string[] {
"eNews",
"eArticle"
}, null, null, max,"{prefix}Content.cDate","DESC",false,Pages[(page-1)].PageStart);
}
List<nCMS_NET.Content.nContent> N = News.getList();
ViewData["TotalRows"] = News.TotalRows;
ViewData["News"] = N;
ViewData["Show"] = N.Count;
ViewData["Pages"] = Pages;
ViewData["Page"] = page;
return View();
}
Soweit funktioniert es jedoch nur wenn ich strpage als QueryString aufrufe. Was mach ich falsch? Habe bereits gegooglet und nichts gefunden.
Wär nett wenn ihr mir vieleicht helfen könnt 😃
Hallo,
also wenn du die default Route ({controller}/{action}/{id}) ansprechen willst, dann musst du deinen parameter nicht strpage, sondern id nennen.
Ansonsten musst du dir eine separate Route erstellen.
Danke funktioniert gut....also kleine rückfrage zur not google mich nochmal durch.....der datentyp vom parameter ist egal, der muss nur ID heißen oder?
Ja, Datentyp ist egal. In deinem Beispiel wäre int besser als string.
Die RouteTable nimmt auch Regex-Pattern an, sodass man den Datentyp hier einschränken kann. Der Parametername des Controllers muss aber zur definierten Route passen; wenns in der Route "id" heißt, muss es auch so im Controller sein.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code