Programim dhe zhvillim, javascript, python, php, html

Kalimi i vlerave të rrugës nga një formular duke përdorur FormMethod.Get [duplicate]

Unë kam një formë e cila në dorëzim kalon të gjitha vlerat e fushës së hyrjes si një varg pyetjesh.

Adresa që marr pas dorëzimit është:

http://localhost:51246/Markets?Keyword=keywordhere

Formati i preferuar i adresës është:

http://localhost:51246/Markets/keywordhere

Kodi për formularin:

  @using (Html.BeginForm("Index", "Markets", FormMethod.Get, new { id = "login", role = "form", @dataToggle = "validator", @class = "form-horizontal" }))
    {

        <div class="form-group">
            @Html.LabelFor(x => x.Keyword, new { @class = "col-sm-2 control-label" })
            <div class="col-sm-10">
                @Html.TextBoxFor(x => x.Keyword, new { @class = "form-control", @placeholder = "Enter market or country name..." })
            </div>
        </div>

        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-primary">Filter</button>
                <a href="@Url.Action("Index")" class="btn btn-default">Reset</a>
            </div>
        </div>
    }

Konfigurimi im i rrugës është:

   routes.MapRoute(
       "Markets",
       "{controller}/{keyword}/{page}",
       new
       {
           controller = "Markets",
           action = "Index",
           keyword = UrlParameter.Optional,
           page = UrlParameter.Optional
       }
       );

        routes.MapRoute(
          "Markets main",
          "{controller}/{action}/{id}",
          new
          {
              controller = "Markets",
              action = "Index",
              id = UrlParameter.Optional,
              }
              );

...

Dhe kontrolluesi është:

[HttpGet]
public async Task<ActionResult> Index(string keyword, int page = 1)
{
        //search logic and create viewmodel
        Return ActionResult(viewmodel)
}

Funksionaliteti funksionon mirë, dhe nëse shkruaj formatin e preferuar në shiritin e adresave dhe shtyp Enter, shfaqen rezultatet e pritura të kërkimit.

Si mund ta bëj që formulari të dorëzojë dhe t'i vendos vlerat në formatin e preferuar?


  • Kjo përgjigje në fakt nuk i përgjigjet pyetjes sime. Nëse ishte vetëm id, atëherë nuk është një problem, por vlerat shtesë. A do të thotë kjo që format asp.net mvc nuk përdorin vlerat e rrugës asp.net? 21.06.2016
  • Ai i përgjigjet pyetjes suaj. Ju nuk mund të merrni /Markets/keywordhere sepse shfletuesi nuk di asgjë për rrugët tuaja (siç shpjegohet në dupe) dhe një FormMethod.Get do të dërgojë gjithmonë vlerat e kontrolleve të formës së tij si parametra të vargut të pyetjes - në rastin tuaj vlerën për Keyword (siç shpjegohet në dupe) . Dhe e vetmja mënyrë për të marrë formatin tuaj të preferuar është të përdorni javascript për të ndërtuar një url bazuar në vlerat e kontrollit të formularit dhe ridrejtimin (siç shpjegohet në dupe) 22.06.2016
  • @StephenMuecke Ok faleminderit Stephen, mendoj se thjesht shpresoja për një tipar mvc routeconfig/controller route/mvc për ta trajtuar këtë, ndoshta do të përfundoj në ndërtimin e url-së përmes javascript në fund... 22.06.2016
  • Asgjë në MVC nuk mund ta bëjë këtë - gjithçka ndodh me klientin dhe klienti nuk di asgjë për kodin në server :) 22.06.2016

Materiale të reja

Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

Faketojeni derisa ta arrini me të dhënat false
A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

Si të përdorni kërkesën API në Python
Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

Një udhëzues hap pas hapi për të zotëruar React
Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

AI dhe Psikologjia — Pjesa 2
Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

Esencialet e punës ditore të kodit tim VS
Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..