Asp.Net MVC html.DropDownList根据所选值进行操作

时间:2016-01-12 15:09:39

标签: c# asp.net asp.net-mvc asp.net-mvc-4 html.dropdownlistfor

我创建了一个带有DropDownList公司的招标的网络应用程序'名称。我从特定目录中获取这些名称,将其放入数组并复制到List中,然后添加字符串" -Add new - "为了在用户选择此选项时创建操作。

第一个问题:当用户选择" -Add new - ",并在写完名称并点击"之后,如何创建一个用文本框打开一个小窗口的动作?添加",它会在我的" \ My网络目录中创建一个新文件夹\"?

第二个问题:正如我之前所说,DropDownList of companies' name来自" \ My network directory \",如何传递用户选择的值(公司名称)并在另一个DropDownList中显示所选文件夹(公司)的子目录? / p>

//The controller
public class TenderController : Controller
{
    //
    // GET: /Tender/
    public ActionResult AddNewTender()
    {
        //Get companies directory and put it into a string array
        string[] compNameArray = Directory.GetDirectories(@"//My network directory\");
        int i = 0;
        foreach (string txtName in compNameArray)
        {
            //Copy to another string every directory name only with the las name file (the company name)
            string txtDirName = txtName.Substring(txtName.LastIndexOf(@"\") + 1);
            //Update the companies name array with the companies name only
            compNameArray[i] = txtDirName;
            i++;
        }
        //Copy the companies name array to a list
        List<string> compList = new List<string>(compNameArray);
        //Remove from the list the names above
        compList.Remove("New folder");
        //Add the "add new" option to the list
        compList.Add("-Add new-");
        ViewBag.ListOfCompanies = compList;
        return View();
    }

观点:

            <td dir="rtl">
                @Html.DropDownList("companyName", new SelectList(ViewBag.ListOfCompanies, Model))
            </td>          

页面: It looks like this

1 个答案:

答案 0 :(得分:0)

第一个问题:

Run javascript after dropdownlist change.

在Javascript中,您应该检查下拉值。

然后你可以create a button from the Javascript

点击&#34;添加&#34;,在控制器中创建一个动作以创建新文件夹。

第二个问题:

与第一个问题相同的技巧,使用onchange事件来运行Javascript。 在Javascript中,您可以add values to dropdownlists