2013-10-25 22 views
1

在我的第一頁中,我列出了與該計劃相關的金額列。如果我點擊一列,它會重定向到另一個頁面。在該頁面中,我想要顯示之前點擊的數量。我以前從未使用過會話。現在我試了。但它總是呈現單量只有..我不知道如何創建多個值會話..如何使用會話將多個值從一個視圖傳遞到另一個視圖mvc

控制器

 Session["rs360"] = "Rs. 360"; 
     Session["rs1000"] = "Rs. 1000"; 
     Session["rs1500"] = "Rs. 1500"; 

查看

<div><%:Session["rs360"] %></div> 

實際視圖(Index.Cshtml)

<div id="rs360"> 
    <span class="font18">Rs.360</span> 
</div> 

<a href="<%: Url.Action("Payment", "Home") %>"><img src="../../Content/Images/Subscribe now on click.png" class="btn" onclick="return sms_confirm1()" /></a> 

<div id="rs1000"> 
    <span class="font18">Rs.1000</span> 
</div> 

<a href="<%: Url.Action("Payment", "Home") %>"><img src="../../Content/Images/Subscribe now on click.png" class="btn" onclick="return sms_confirm1()" /></a> 

點擊進入按鈕時稱爲付款

<td> 
    <a class="callpickupcash" href="<%: Url.Action("ElectronicTransfer", "Home") %>"><img src="/Content/Images/ebanking.png" class="Featured-plan"></a> 
</td> 

另一個視圖點擊這個按鈕上方,將打開一個彈出菜單時...在該菜單我應該表現出量值..

這裏只有我通過了以下會議我已經聲明在頂部

<div><%:Session["rs360"] %></div> 

在這裏我給了會話變量,所以我的結果顯示360.但是,當我點擊1000它應該改變..如何做到這一點?

回答

2

我找到了答案,我的問題通過使用本地存儲()函數..

我通過了單選按鈕的價值觀像

<%:html.radiobutton("smscount",500,true)%> 

jQuery的

<script type="text/javascript"> 
    function sms_confirm() { 

     var amount = $("input:radio[name=smscount]:checked").val(); 
     localStorage.setItem("smscount", amount); 
     if (r == false) { 
      return false; 
     } 

    } 

重定向頁面

在這裏,我顯示的值到文本框。所以我把文本框的ID ..

$(function() { 
      var textbox = $('#Amount'); 
      var checkValue = localStorage.getItem("smscount") 
      textbox.val(checkValue); 

     }); 
1

如果你沒有使用會話的其他任何東西,我建議你這個問題你不需要會話。您只需將點擊的金額傳遞給您使用該鏈接調用的操作方法,然後將該金額合併回傳遞給第二個視圖的模型。你可以通過使用viewData來做到這一點,或者通過將視圖強制輸入到包含該信息的視圖模型來實現。

編輯

確定。讓我看看我是否正確。

Url.Action("Payment", "EmployerVas") 

呼叫在EmployerVas一種付款方式,呈現視圖(視圖2),其中包含與呈現的按鈕:在所述第一觀點,即呈現與連桿

Url.Action(「ElectronicTransfer」, 「EmployerVas」,「Employer」)

這將打開一個彈出式菜單,並且您希望在第一個視圖中點擊的值顯示在彈出窗口中。如果這是你正在嘗試做的,不改變你在做什麼和移動你到一個基於視圖模型系統太多了,我會改變如下:

Url.Action("Payment", "EmployerVas", new{amount="360"}) 

變更付款方式在EmployerVas控制器接受類型爲int或long的輸入參數或任何符合您需要的參數。

然後,您可以將其存儲在會話中,如果需要並將其傳遞給view2,然後在view2中再次更改鏈接以傳遞該值(或者如果要使用存儲在會話中的值,則保留鏈接爲是):

Url.Action("ElectronicTransfer", EmployerVas","amountToSHow=sessionOrViewDataPassedValue") 

現在因爲該值是在會話就可以使用它,也可以改變ElectronicTransfer方法接受相同類型如上述的輸入值和amountToShow命名然後可以將其傳遞到彈出窗口。

+0

我從來沒有存儲過這個數量..我想動態地採取它。而且我也沒有點擊那個數量..我只是點擊了那個數量的按鈕。 – Duk

+0

同樣的事情。只需將該數量傳遞給該按鈕所調用的方法即可。你不需要存儲它。只需從一個視圖傳遞給另一個視圖。 – JTMon

+0

我對這個概念很陌生。如果你舉例,它會更好。 – Duk

相關問題