2017-08-24 69 views
0

我对我的第一asp.net核心2节项目,并正在寻找如何在这两个响应用户的操作:如何对按键反应推在ASP.NET 2.0的核心剃刀页

a) selection in a dropdown box. 
    c) a button click. 

它应该可能是服务器端,所以不在JavaScript中,因为它们将通过RESTfull web api工作并控制微波炉。 (定时器和开始/停止)。

1:ad a)我已经使用3个条目填充下拉菜单,但无法在下拉列表中选择所选时间。我怎么做?

2:ad a)当用户选择不同的时间时,我希望能够呼叫我的微波炉并设置新选择的时间。 - 基本上我想去页面控制器,并从那里设置时间。

3:ad b)如何获得C#代码,我可以根据哪个按钮按下哪个按钮来启动或停止微波? - 是在控制器还是在page.cshtml页面的cs文件中?

感谢您awnsers ...

回答

0

提交按钮点击表格可以从浏览器将数据发送到服务器的操作方法,没有JavaScript的内部。但是,如果没有javascript,下拉式菜单无法单独处理change事件(没有明确的表单提交)。

1:我已经使用3个条目填充下拉菜单,但无法在下拉列表中选择所选时间。我该怎么做呢?'

如果你在视图模型中使用SELECT标签助手,你应该可以选择它。

public class MyViewModel 
{ 
    public string SelectedVal { set;get;} 
    public List<SelectListItem> Items {set;get;} 
} 

,并在你的GET操作

public ActionResult Create() 
{ 
    var vm=new MyViewModel(); 
    vm.Items = new List<SelectListItem>{ 
    new SelectListItem { Value="1", Text="1" }, 
    new SelectListItem { Value="2", Text="2" }, 
    new SelectListItem { Value="3" , Text="3"} 
    }; 

    vm.SelectedVal = "2"; // This will pre select the second item in dropdown 

    return View(vm); 
} 

,并在视图

@model MyViewModel 
<form asp-action="Create" method="post"> 
    <select asp-for="SelectedVal" asp-items="@Model.Items" > 
     <option>Please select one</option> 
    </select> 
    <input type="submit" /> 
</form> 

,并在您HttpPost创建的操作方法,你会得到SelectedVal

[HttpPost] 
public ActionResult Create(MyViewModel model) 
{ 
    //check model.SelectedVal 
    // to do : return something 
} 

2:ad a)当用户选择不同的时间时,我希望能够通过 呼叫我的微波炉并设置新选择的时间。 - 基本上我想要 去页面控制器,并从那里设置时间。

就像我上面提到的,你可以点击提交按钮来提交新选择的值。但如果你不想点击提交,那么你需要使用javascript代码来处理下拉菜单中的更改事件并通过javascript提交表单。

+0

好的,看来我需要去javascript的方式来处理视图模型的更新,当选择不同的时间时。 并使用该值,当它自己启动时.. – kfn