2014-01-27 52 views
0

我有一个观点将数据传递到CONTROLER和回视

@using (Html.BeginForm("ActionMethodName")) 
{ 
@Html.Label("Amount") 
@Html.TextBox("txtAmount") 
<input class="button" id="submit" type="submit" value="Submit" /> 
@ViewBag.Average 
} 

和控制器

public ActionResult ActionMethodName(FormCollection collection) 
    { 
     string input = collection.Get("txtAmount"); 
     int numberOfItems = Convert.ToInt32(string.Join(null, System.Text.RegularExpressions.Regex.Split(input, "[^\\d]"))); 


     //float kwota_rachunku=db.RachunekModel.Select(; 

     ViewBag.Average = db.RachunekModel.OrderByDescending(m => m.RachunekID) // -< typo fixed here!! 
       .Take(numberOfItems) 
       .Average(m => m.Podatek); 
     return View(); 

    } 

而且只是我想从元素的用户输入的数量平均,并将其发送回去查看。 我在做什么错?

+0

那么会发生什么,当你运行该代码? – Kehlan

+0

你甚至打你的控制器行动?您不要在BeginForm参数中指定控制器名称。 –

+0

当我输入数字,并点击提交按钮我的网站地址从 http:// localhost:11396/Rachunek更改为http:// localhost:11396/Rachunek?长度= 16,多数民众赞成在所有。 – z48o0

回答

0

试试这个:

@using (Html.BeginForm("ActionMethodName", "YourControllerName")) 
{ 
@Html.Label("Amount") 
@Html.TextBox("txtAmount") 
<input class="button" id="submit" type="submit" value="Submit" /> 
@ViewBag.Average 
@Html.Hidden("Average", ViewBag.Average) 
} 

和控制器

public ActionResult ActionMethodName(FormCollection collection) 
    { 
     string input = collection.Get("txtAmount"); 
     int numberOfItems = Convert.ToInt32(string.Join(null, System.Text.RegularExpressions.Regex.Split(input, "[^\\d]"))); 


     //float kwota_rachunku=db.RachunekModel.Select(; 

     ViewBag.Average = db.RachunekModel.OrderByDescending(m => m.RachunekID) // -< typo fixed here!! 
       .Take(numberOfItems) 
       .Average(m => m.Podatek); 
     return View(); 

    } 
+0

此部分不起作用@ Html.Hidden(“Average”,ViewBag.Average) – z48o0

+0

CS1973:'System.Web.Mvc.HtmlHelper >'has no名为“隐藏”的适用方法,但似乎有一个按该名称的扩展方法。扩展方法不能动态分派。考虑转换动态参数或调用扩展方法而不使用扩展方法语法。 – z48o0

+0

删除该行并再次尝试。 –

0

的视图这部分代码:

@ViewBag.Average 

不会在任何位置分配的平均值。您应该为其指定例如一个隐藏字段:

@ViewBag.Average 
@Html.Hidden("Average", ViewBag.Average) 

顺便说一句今后我会建议你,因为它使整个创建你的意见和控制器的动作更简单使用强类型的意见。