台灣最大程式設計社群網站
線上人數
1268
 
會員總數:240909
討論主題:186667
歡迎您免費加入會員
討論區列表 >> ASP.NET >> View傳字串到Action
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
View傳字串到Action
價值 : 150 QP  點閱數:495 回應數:2

樓主

Henry
門外漢
0 3
56 3
發送站內信

我想從View傳使用者點到的縣市 直接傳Text到Action
但怎麼樣就是傳不到 不知道是哪媦g錯了
希望高手們可以幫幫我Orz

以下是我的View
<h2>@ViewBag.sh</h2> //這是要看有沒有接到值才寫的

<select id="select1" class="form-control">
<option>台北市</option>
<option>桃園縣</option>
<option>苗栗縣</option>
<option>彰化縣</option>
</select>


<script type="text/javascript">
$(document).ready(function () {
$('#select1').change(function () {
var se = $('#select1>:selected');
$.ajax({
type: 'GET',
url: "/Activity/Index",
data: { AreaDropStr: se.text() },
dataType:"text"
})

})
})

</script>

以下是Action
public ActionResult Index(string AreaDropStr = "")
{
AreaDropStr = Request["AreaDropStr"].ToString();
ViewBag.sh = AreaDropStr;
return View();
}

搜尋相關Tags的文章: [ View ] , [ 傳字串 ] , [ Action ] ,
本篇文章發表於2017-03-18 11:58
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

ALin
捐贈 VP 給 ALin 檢舉此回應
action裡的程式看起來有點奇怪,你直接取AreaDropStr不是就可以了嗎?
另外你的action是ActionResult型別,你在view上使用Jquery去觸發這個action,你要它回傳什麼值給你?
這樣你頁面沒有postback吧,viewbag又怎麼會有東西呢?

你先確認你想要傳text到action裡去做什麼事? 想得到什麼結果,再決定你要使用的action型別

你貼上的程式,你如果直接在網址列打上/Activity/Index/台北市,理論上action裡的AreaDropStr是會抓到台北市的
本篇文章回覆於2017-03-21 18:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

*W*
檢舉此回應
大大您好:改寫成這樣,您試一下…
小弟還沒弄過ajax 改天要來了解一下
所以在不會弄ajax的情況下,改寫的…請多包涵
<select id="select1" class="form-control" name="optest">
<option>台北市</option>
<option>桃園縣</option>
<option>苗栗縣</option>
<option>彰化縣</option>
</select>




以下是Action
public ActionResult Index(FormCollection form)
{
//AreaDropStr = Request["AreaDropStr"].ToString();
//ViewBag.sh = AreaDropStr;
//return View();
ViewData["optest"] = form["optest"]

ViewBag.sh=form["optest"];;
return View();

}
本篇文章回覆於2017-03-29 21:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.