C# 获取mvc中dropdownlist和textbox的值

C# 获取mvc中dropdownlist和textbox的值,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我有一个动态生成的dropdownlist和一个静态文本框,我需要在控制器操作中使用哪些值,如何使用,或者最好的方法是什么?或者我的可能性是什么 <h2>Content Type Creation</h2> @using(Html.BeginForm("CreateContentType", "ContentType")) { @Html.DropDownList("ContentTypeList", new SelectList(Model, "Id", "N

我有一个动态生成的dropdownlist和一个静态文本框,我需要在控制器操作中使用哪些值,如何使用,或者最好的方法是什么?或者我的可能性是什么

<h2>Content Type Creation</h2>

@using(Html.BeginForm("CreateContentType", "ContentType"))
{
    @Html.DropDownList("ContentTypeList", new SelectList(Model, "Id", "Name"))
    <input type="text" id="contentTypeName" />
}




[SharePointContextFilter]
        public ActionResult Index() //Index fills the dropdown
        {
            var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);

            using (var ctx = spContext.CreateUserClientContextForSPHost())
            {
                ContentTypeCollection contentTypes = ctx.Web.ContentTypes;
                ctx.Load(contentTypes);
                ctx.ExecuteQuery();
                return View(contentTypes);
            }    
        }


        [SharePointContextFilter]
        [HttpPost]
        public ActionResult CreateContentType(string parentContentTypeId, string contenttypeName)
        {
            // Create New Content Type
            var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
            using (var ctx = spContext.CreateUserClientContextForSPHost())
            {
                Guid fieldId = Guid.NewGuid();
                string ctId = string.Format("{0}00{1}", parentContentTypeId, contenttypeName);

                // Do not re-create it
                if (!ctx.Web.ContentTypeExistsByName(contenttypeName))
                {
                    ctx.Web.CreateContentType(contenttypeName, ctId, "Contoso Content Types");
                }
                else
                {
                    ViewBag["Message"] = string.Format("Content type with given name and/or ID already existed. Name -  {0} ID - {1}", contenttypeName, ctId);                   
                }
            }
            return View();
        }
内容类型创建
@使用(Html.BeginForm(“CreateContentType”、“ContentType”))
{
@DropDownList(“ContentTypeList”,新选择列表(Model,“Id”,“Name”))
}
[SharePointContextFilter]
public ActionResult Index()//索引填充下拉列表
{
var spContext=SharePointContextProvider.Current.GetSharePointContext(HttpContext);
使用(var ctx=spContext.CreateUserClientContextForSPHost())
{
ContentTypeCollection contentTypes=ctx.Web.contentTypes;
ctx.Load(contentTypes);
ctx.ExecuteQuery();
返回视图(contentTypes);
}    
}
[SharePointContextFilter]
[HttpPost]
public ActionResult CreateContentType(字符串parentContentTypeId,字符串contenttypeName)
{
//创建新的内容类型
var spContext=SharePointContextProvider.Current.GetSharePointContext(HttpContext);
使用(var ctx=spContext.CreateUserClientContextForSPHost())
{
Guid fieldId=Guid.NewGuid();
字符串ctId=string.Format(“{0}00{1}”,parentContentTypeId,contenttypeName);
//不要重新创建它
如果(!ctx.Web.ContentTypeExistsByName(contenttypeName))
{
CreateContentType(contenttypeName,ctId,“Contoso内容类型”);
}
其他的
{
ViewBag[“Message”]=string.Format(“具有给定名称和/或ID的内容类型已经存在。名称-{0}ID-{1}”),contenttypeName,ctId);
}
}
返回视图();
}
试试这个

视图:

使用(Html.BeginForm(“CreateContentType”、“ContentType”)) { @DropDownList(“ContentTypeList”,新选择列表(Model,“Id”,“Name”)) } $(doucment).ready(函数() { var url=“@url.Action('CreateContentType','ContentType')”; $(“#btnsupmit”)。单击(函数() { $.ajax({ 键入:“POST”, url:url+'?parentContentTypeId='$(“#ContentTypeList”).val()+'&contenttypeName='+$(“#contenttypeName”).val(), 数据类型:“json”, contentType:'应用程序/json', 成功:功能(结果){ }, 错误:函数(xhr、stat、error){ 警报(错误); } }); }); });
在视图中使用$(“#ContentTypeList”).val()和$(“#contentTypeName”).val()获取ddl和文本值,并使用ajax将它们传递给控制器操作。如何?给我看一些代码,请你错过了名称标签,contentTypeName的值将不会发布到服务器请解释,名称而不是id?如何将内容类型名称发布到服务器?谢谢,这说明了您的想法,但是如果我想使用服务器端代码进行发布,该怎么办?按钮位于表单内部,它应该自动发出发布请求,对吗?如何从服务器端获取这些值?按钮只有在具有type=“submit”时才会提交,否则您必须自己处理单击操作,就像malkam一样。如果您希望自动提交,请更改按钮类型以提交,并将dropdownlist的id/名称更改为“parentContentTypeId”,以便自动绑定模型
@using(Html.BeginForm("CreateContentType", "ContentType"))
{
    @Html.DropDownList("ContentTypeList", new SelectList(Model, "Id", "Name"))
    <input type="text" id="contentTypeName" />
     <input type="button" id="btnSubmit" value="Submit"/>
}

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script language="javascript" type="text/javascript">
$(doucment).ready(function()
{
var url="@Url.Action('CreateContentType','ContentType')";

$("#btnSubmit").click(function()
      {
          $.ajax({
            type: 'POST',
            url: url+'?parentContentTypeId='$("#ContentTypeList").val()+'&contenttypeName='+$("#contentTypeName").val(),
            dataType: 'json',
            contentType: 'application/json',
            success: function (result) {
                       },
            error: function (xhr, stat, error) {
                             alert(error);
                            }
                });
  });
});