当我创建默认的mvc asp.net c#项目时,在body标记内的_layout.cshtml上有Render.Body(),在关闭主体之前有用于jquery和bootstrap的脚本包。当我尝试在View中编写脚本时,它表示未定义jQuery。这很明显,因为脚本包在Render.Body()之后被调用。所以我问一个愚蠢的问题。将包移动到Render.Body()上方是否错误?
答案 0 :(得分:6)
您需要在convertView = LayoutInflater.from(context).
inflate(R.layout.layout_list_view_row_items, parent, false);
TextView nameTextView = (TextView) convertView.findViewById(R.id.name_text_view);
//and now get the SpinnerArrayObject by position
SpinnerArrayObject currentObject = spinnerArrayObjects.get(position);
nameTextView.setText(currentObject.getName());
return convertView;
文件中添加一个“部分”,然后视图才能插入其中。这将确保脚本在 jquery可用后运行。
尝试一下:
布局
在其中的jquery(和其他)脚本下添加此代码:
_Layout
观看次数
然后在要添加脚本的任何视图中执行以下操作:
@RenderSection("Scripts", required: false)
答案 1 :(得分:1)
如果像jQuery这样的依赖脚本在需要它们的脚本之后加载,则需要将它们移到上方。您可以按照建议的方式将jQuery包移到正文上方,或者根据应用程序的结构,包括脚本包开头的jQuery来完成此操作。
可能还有其他方法可以解决此问题,但我没有使用它们。将脚本放在正文中并不是“错误”,与其他选项相比,它只有不同的优点和缺点。