小编hou*_*se9的帖子

asp mvc partial with model和ViewDataDictionary - 如何访问ViewDataDictionary?

我正在创建一个更新两个相关模型的表单,对于此示例,一个带有一组任务的项目,我希望控制器接受一个项目,该项目的任务集合从表单输入加载.我有这个工作,基本上下面的代码没有部分.

这可能听起来很傻但我无法弄清楚如何从部分访问计数器(i)?

模型

public class Project
{
    public string Name { get; set; }
    public List<Task> Tasks { get; set; }
}

public class Task
{
    public string Name { get; set; }
    public DateTime DueDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Create.cshtml(查看)

@model MyWebApp.Models.Project

@using(Html.BeginForm("Create", "Project", FormMethod.Post, new { id = "project-form" }))
{
    <div>
        @Html.TextBox("Name", Model.Name)
    </div>

    @for(int i = 0; i < Model.Tasks.Count; i++)
    {
        @Html.Partial("_TaskForm", Model.Tasks[i], new ViewDataDictionary<int>(i))
    }

}
Run Code Online (Sandbox Code Playgroud)

_TaskForm.cshtml(局部视图)

@model MyWebApp.Models.Task

<div>
    @Html.TextBox(String.Format("Tasks[{0}].Name", 0), Model.Name) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

63
推荐指数
1
解决办法
7万
查看次数

jslint错误:意外'在'.与undefined比较,或使用hasOwnProperty

我有以下javascript函数未通过jslint检查

  function hasActiveX() {
    return ('ActiveXObject' in window);
  }
Run Code Online (Sandbox Code Playgroud)

jslint错误

Unexpected 'in'. Compare with undefined, or use the hasOwnProperty method instead.
Run Code Online (Sandbox Code Playgroud)

我应该忍受jslint错误,还是有更好的方法来确定ActiveXObject?我找不到跳过此检查的jslint标志?

javascript jslint

20
推荐指数
2
解决办法
6385
查看次数

ASP MVC Razor视图扩展方法,如何创建'全局'视图方法?

我正在使用带有asp mvc预览3的Razor视图

我正在尝试创建一些我希望直接在视图中可用的方法.这些不是真正的Html辅助方法,所以我不认为扩展HtmlHelper有意义吗?

我的目标,能够在视图中调用方法即

@HelloWorld(); vs @Html.HelloWorld()
Run Code Online (Sandbox Code Playgroud)

我可以通过在HtmlHelper上创建扩展方法来使Html.HelloWorld工作

public static class HtmlExtensions
{
    public static string HelloWorld(this HtmlHelper helper)
    {
        return "Hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做同样的事情但是为了观点; 我的问题 - 视图是什么类型的对象?

注意:我可以通过在.cshtml页面中定义方法来实现此功能

@functions 
{
    public string HelloWorld()
    {
        return "Hello";
    }
}

@HelloWorld() @* now this works *@
Run Code Online (Sandbox Code Playgroud)

然后我试着把这个代码放在我的_viewstart.cshtml文件中,认为它可以在所有视图中使用,但事实并非如此

如果我知道视图是哪种类型我认为它可以很容易地扩展,任何帮助表示赞赏

asp.net-mvc

19
推荐指数
2
解决办法
1万
查看次数

如何将CoffeeScript文件与视图相关联?

刚刚安装了rails 3.1 rc1,我试图用新资产管道来管理javascript的最佳方法默认情况下,所有coffeescript都被编译成一个application.js文件,这是一件好事.

每个单独的咖啡脚本文件都附加到js文件并包装在一个匿名函数中,该函数通过调用方法执行.常见的场景是使用一些jquery将各种表单转换为ajax表单,更新UI等...

这些脚本中的许多都是特定于控制器或动作的,我试图用"常规"方式来处理这个,因为所有内容都包含在一个匿名函数中,我如何只执行特定控制器/动作的代码,默认情况下,正在执行所有匿名函数

我确实玩了一些hacks,我将控制器和动作名称加载到js变量中,然后在coffeescript中检查那些有条件地运行代码,我不是很喜欢

我最初的想法是每个咖啡文件都包含一个js命名空间/对象,我会从视图中调用特定的那些,使用default_bare = true配置来调用它

请参阅如何在Rails 3.1 for CoffeeScript中使用选项"--bare"?

编辑

再看一些:看起来这可能是正确的方法 - 使用Rails 3.1和Coffeescript"找不到变量"错误

coffeescript ruby-on-rails-3.1

16
推荐指数
1
解决办法
3445
查看次数

rails 3 activerecord命令 - 什么是正确的SQL注入工作?

让我们说我有一个用户列表页面,您可以按不同的列排序,点击"电子邮件"时它将通过sort_by = email sort_direction = asc或desc

sort_by = "email" # really params[:sort_by]
sort_direction = "asc" # really params[:sort_direction]
User.order("#{sort_by} #{sort_direction}")
# SELECT "users".* FROM "users" ORDER BY email asc
Run Code Online (Sandbox Code Playgroud)

所以如果我们更改sort_by,那么按预期工作

sort_by = "email; DELETE from users; --"
User.order("#{sort_by} #{sort_direction}")
# SELECT "users".* FROM "users" ORDER BY email; DELETE from users; -- asc
Run Code Online (Sandbox Code Playgroud)

现在我们没有更多用户:(

我可以手动构建一个有效sort_by的白名单,并将params [:sort_by]与之比较,但希望有一些内置的方法来处理这种事情

sql-injection ruby-on-rails-3 ruby-on-rails-3.1

14
推荐指数
1
解决办法
2347
查看次数

javascript最佳实践定义变量(命名空间)检查尚未定义

想要获得专家的意见,我宣布一个变量将作为我的应用程序javascript代码的命名空间,但我想检查它尚未定义.

这段代码很简洁,"似乎"可以工作 - 我应该避免这种情况并使用typeof'undef'检查吗?

var MY_NAMESPACE = MY_NAMESPACE || {};
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript

10
推荐指数
1
解决办法
1万
查看次数

ruby array(enumerable)方法,用于在1次操作中选择和拒绝2个数组

# this code works
list = (0..20).to_a
# => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 

odd = list.select { |x| x.odd? }
# => [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 

list.reject! { |x| x.odd? }
# => [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 

# but can i emulate this type of functionality with an enumerable method? …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails enumerable

7
推荐指数
1
解决办法
1344
查看次数

当天的活动记录订单

我有一个问题按当前日期排序数组.

我的数据库有一个名为的字段 day

day有周如的日子:Monday,Tuesday,等.

我正在尝试按索引视图页面排序current day.

我想在我的控制器中做这样的事情,

@happies = Happy.where(id: @search.results.map(&:id))
  .page(params[:page]) 
  .where(:day => Date.today.strftime('%A').capitalize.to_s)
Run Code Online (Sandbox Code Playgroud)

但而不是返回only与天人们高兴Monday我想order通过day这里day等于current day.

在我看来,我也考虑过这样做

喜欢的东西

<% @happies.sort_by(:day => Date.today.strftime('%A').capitalize.to_s).each do |happy| %>

上面的方法不起作用,但是我试图实现我想达到的目标.有关如何实现这一点的任何想法?

也许有一个activeview助手?

ruby activerecord ruby-on-rails

4
推荐指数
1
解决办法
972
查看次数