🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
5 messages
5 total messages Started by 3P Wed, 23 Mar 2011 19:19
MVC
#22123
Author: 3P
Date: Wed, 23 Mar 2011 19:19
57 lines
2555 bytes
Hej.

Jestem zupełnie początkujący w MVC. Powiedzcie mi, czy mogę coś takiego  
osiągnąć.

Na stronie zwracanej z HomeController.Index mam inputa i przycisk submit.

Po wciśnięciu submita chcę wywołać metodę SearchController.Find(string  
searchCriteria) i żeby w pasku adresu pokazało się
Find/tutajToPoCzymSzukamZawartoscInputa

Mam takie routingi.

  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

             routes.MapRoute(
                 "",
                 "",
                 new { controller = "Home", action = "Index" }
             );

             routes.MapRoute(
                "",
                "Find/{searchCriteria}",
                new { controller = "Search", action = "Find",  
searchCriteria = "" }
             );

Index.cshtml:

@using (Html.BeginForm("Find", "Search"))
{
     <label for="searchCriteria">Find playlist</label>
     <input type="text" id="searchCriteria" />
     <input id="find" type="submit" value="Find" />
}

Automatyczne testy routingu przechodzą.

	[Test]
         public void Slash_Goesh_To_HomeControllers_Index_Action()
         {
             "~/".ShouldMapTo<HomeController>(c => c.Index());
         }

         [Test]
         public void Find_Routes_To_SearchControllers_Find_Action()
         {
             "~/Find/searchCriteria".ShouldMapTo<SearchController>(c =>  
c.Find("searchCriteria"));
         }

Dlaczego po kliknięciu submita dostaję adres host/Find bez searchCriteria?  
SearchController dostaje pusty parametr.

-- 
3P
Re: MVC
#22124
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 23 Mar 2011 22:55
15 lines
1189 bytes
On Wed, 23 Mar 2011 20:19:44 +0100, 3P wrote:
> <snip>

Pierwszy strzał bez zgłebiania routów:

>      <input type="text" id="searchCriteria" />

Brakuje 'name':
<input type="text" id="searchCriteria" name="searchCriteria />

P.S. Lepiej korzystać z Html helperków do generowania inputów.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Re: MVC
#22125
Author: 3P
Date: Thu, 24 Mar 2011 17:56
26 lines
1572 bytes
Dnia 23-03-2011 o 23:55:10 Łukasz 'Maly' Ostrowski <maly@usunnemo.pl>  
napisał(a):

> On Wed, 23 Mar 2011 20:19:44 +0100, 3P wrote:
>> <snip>
>
> Pierwszy strzał bez zgłebiania routów:
>
>>      <input type="text" id="searchCriteria" />
>
> Brakuje 'name':
> <input type="text" id="searchCriteria" name="searchCriteria />
>
> P.S. Lepiej korzystać z Html helperków do generowania inputów.
>

Dzięki! Teraz przynajmniej Controller dostaje to w parametrze. Ale w pasku  
adresu nadal mam tylko

Find/.

Czy mogę uzyskać Find/kryteriumWyszukiwania?


-- 
3P
Re: MVC
#22126
Author: Łukasz 'Maly' Ostrowski
Date: Thu, 24 Mar 2011 18:39
16 lines
1280 bytes
On Thu, 24 Mar 2011 18:56:01 +0100, 3P wrote:
> Dzięki! Teraz przynajmniej Controller dostaje to w parametrze. Ale w pasku  
> adresu nadal mam tylko
> 
> Find/.
> 
> Czy mogę uzyskać Find/kryteriumWyszukiwania?

JSem, przeglądarka nic nie wie na temat routów,
więc nie jest w stanie sama wygenerować dla
form'a skróconego urla do niestatycznego 
wyszukiwania.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Re: MVC
#22127
Author: 3P
Date: Thu, 24 Mar 2011 19:30
22 lines
1474 bytes
Dnia 24-03-2011 o 19:39:18 Łukasz 'Maly' Ostrowski <maly@usunnemo.pl>  
napisał(a):

> On Thu, 24 Mar 2011 18:56:01 +0100, 3P wrote:
>> Dzięki! Teraz przynajmniej Controller dostaje to w parametrze. Ale w  
>> pasku
>> adresu nadal mam tylko
>>
>> Find/.
>>
>> Czy mogę uzyskać Find/kryteriumWyszukiwania?
>
> JSem, przeglądarka nic nie wie na temat routów,
> więc nie jest w stanie sama wygenerować dla
> form'a skróconego urla do niestatycznego
> wyszukiwania.
>

Tego się właśnie obawiałem.

-- 
3P
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads