Skip to content
久久日记本
曾经年少爱追梦,一心只想往前飞
  • 首页
  • 博客
    • 博客历史
    • 主题
    • 个人文集
  • 关于
    • 正在读的书
    • 作品归档
    • 2018作品归档
    • 联系我
  • 友情链接
  • 留言板
❄
❅
❆
❄
❅
❆
❄
❅
❆
❄
.NET

话说网络硬盘(1)

Posted on 2012年9月26日 by 九九 / 1543 Views

最近要做一个项目,说是实习结束前的最后一个项目,曰:在线OA。

负责网络硬盘方面的代码,所以顺便梳理一下在MVC3框架下的一些知识。这些我所遇到的问题依次解决之后,网络硬盘也就搞定了。

项目框架:MVC3

项目模板:网络硬盘

涉及表:R_User中的ID,UserName,I_NetDisk的UserID,其中UserID是ID的外键。

问题一:遇到需要权限用户修改自己上传文件的文件名时,其中需要显示文件上传者,这里设置显示框是dropdownlist,要求只能下拉,但是部分item没法选中。

传送门

在WF上可以很轻易实现,两种:

1.设置readonly为true,居然还可以下拉;

2.想到只要在View层设置disabled为true即可,于是用JQuery但是Controller中却无法获得被设置的dropdownlist的value值,很蛋疼的事。很明显,View层是前台代码根据droplist来寻找到值的,若是设置了disabled,据我推测,这样导致前台找不到dropdownlist,也就获取不到值。

怎么办?

我在上面加个隐藏文本域绑定

@Html.HiddenFor(model => model.UserID)
@Html.DropDownList("UserID")

但是这样虽然获取到了值,disabled却失去了作用,dropdownlist照样能够下拉。

实在没办法

我只能用UserID代替UserName显示上传人编号了,

@Html.DropDownList("UserID")//显示的是所有的UserName信息

改为

@Html.Label("UserID")

但是这个就显得效果不好,因为当用户修改“文件名”,看到的编辑页码信息却是“上传者ID”,可不可以,有更好的方法呢?

效果图:

代码:

@model inOffice.Models.I_NetDisk

@{
    ViewBag.Title = "Edit";
}

<h2>编辑</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#UserID").attr("readonly", true);
        $("#Type").attr("readonly", true);
        $("#UserID").attr("enable", false);
        $("#Pid").attr("readonly", true);
        $("#FilePath").attr("readonly", true);
        $("#FileType").attr("readonly", true);
    });
</script>
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>网络硬盘</legend>

        @Html.HiddenFor(model => model.ID)

        <div class="editor-label">
            拥有者ID
@*            @Html.LabelFor(model => model.UserID, "R_User")*@
        </div>
        <div class="editor-field">
@*              @Html.Label("UserID")*@
@*            @Html.HiddenFor(model => model.UserID)*@
@*            @Html.DropDownList("UserID")*@

            @Html.EditorFor(model => model.UserID)
 @*           @Html.EditorFor(model => model.R_User.UserName)*@
@*            @Html.Label(Request.Cookies["UserName"].Value)*@
            @Html.ValidationMessageFor(model => model.UserID)
        </div>

        <div class="editor-label">
            类型
@*            @Html.LabelFor(model => model.Type)*@
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Type)
            @Html.ValidationMessageFor(model => model.Type)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Pid)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Pid)
            @Html.ValidationMessageFor(model => model.Pid)
        </div>

        <div class="editor-label">
            文件名
@*            @Html.LabelFor(model => model.Name)*@
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Name)
            @Html.ValidationMessageFor(model => model.Name)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.FilePath)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.FilePath)
            @Html.ValidationMessageFor(model => model.FilePath)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.FileType)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.FileType)
            @Html.ValidationMessageFor(model => model.FileType)
        </div>

        <p>
            <input type="submit" value="保存" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("返回文件列表", "Index")
</div>
MVC
九九
过去的我们,现在的自己,往事,终会随风而逝。 View all posts by 九九 →

Post navigation

Older post
快速深入一门语言的绝招
Newer post
求职一个月

标签云

Android ASP.NET Baby C# C/C++ CSS Div DX11 flask front-end GAE Git Java JJProject JS Life MSSQL MVC OpenSource Oracle Python React React-Native Software Tools Vue Webpack Website Window WP7 乱记 十年旧梦 天气 宝宝成长日记 小说 工作 情感 故障 散文 日记 游戏开发 网新实训笔记 花落梧桐 诗间集 转载

时光机

  • 2023年2月
  • 2022年12月
  • 2022年4月
  • 2022年3月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年5月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年6月
  • 2019年5月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年7月
  • 2017年3月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年7月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年1月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年6月
  • 2010年5月
  • 2010年2月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年8月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年2月
  • 2007年11月
  • 2007年8月
  • 2007年6月
  • 2007年5月
  • 2007年4月
  • 2007年3月
  • 2007年2月
  • 2007年1月
  • 2006年10月
  • 2006年8月
© 2006 - 2023 久久日记本
Powered by WordPress | Theme: Graphy for 99diary