2016-09-08 4 views
0

Ich habe Aspx-Projekt, die einfache Suche nach dem Textfeld Wert ist. Der Wert, den ich aus der URL erhalten, die wie folgt aussieht:JavaScript/ASPX entfernen URL-Zeichenfolge

/default.aspx?V1A%202B3 

ich meine JavaScript-Code verwenden, um die Zeichenfolge zu erhalten und es als Textfeld Wert für asp, um fortzufahren:

<script> 
var url = window.location.href; 
    if((url).indexOf('?') != -1) { 
     var queryString = (url).substr((url).indexOf('?') + 1); 
     var str1 = queryString.replace(/%20/g, ' '); 
     var str2 = str1.replace('+', ' '); 
     document.getElementById("TextBox1").value = str2; 
     if (typeof (history.pushState) != "undefined") { 
     var obj = { Url: 'Default.aspx' }; 
     history.pushState(obj, obj.Title, obj.Url); 
    } 
    } 
</script> 

so von hier Ich bekomme einen netten einfachen Wert "V1A 2B3", den ich für meine Suche verwende. Es funktioniert, aber wenn ich die Suchzeichenfolge von Hand in Textfeld eingeben, hat die URL immer noch die alte Zeichenfolge sowie Textfeld nach der Suchschaltfläche geklickt. Gibt es eine Möglichkeit, es zu beheben? Ich habe versucht, es mit history.pushState zu entfernen. Es wird nicht in der URL-Leiste angezeigt, ist aber immer noch als Textfeldwert. Mein Suchfeld für asp:

<asp:Button ID="Button1" runat="server" Text="Go" onclick="Button1_Click" /> 
+1

Bewegen Sie die Zeichenfolge Manipulation von Javascript/Client-Seite zu C#/Server-Seite –

+0

Ich bin nicht C# -Programmierer, also das ist, warum ich auf Client-Seite. Kannst du mir hier helfen? –

Antwort

0

So habe ich Shannon`s Antwort und machte es auf der Server-Seite arbeiten:

string v = Request.QueryString["code"]; 
       if (v != null) 
         { 
         TextBox1.Text = v; 
         } 

Nun ist die URL wie folgt aussieht: default.aspx?code=1v5a1c