在.NET项目中应该有哪些帮助类的最佳实践是什么?引用与业务层事物分开的类,但是演示和应用程序的东西,如appSetting配置管理器和其他有时是模块特定或有时在整个应用程序中使用的代码.
我想sanitize在控制器内打电话.这是我试过的:
class FooController < ApplicationController
include ActionView::Helpers::SanitizeHelper
# ...
end
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
undefined method `white_list_sanitizer' for FooController:Class
Run Code Online (Sandbox Code Playgroud)
我四处搜索,人们建议将include行切换为include ActionView::Helpers,但这会导致此错误:
undefined method `url_for' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
什么是正确的打电话方式sanitize?我正在使用Rails 2.3.5.
升级到 VirtualBox 6.1.28 后尝试运行时vagrant up,收到以下错误消息
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["hostonlyif", "ipconfig", "vboxnet0", "--ip", "192.168.33.1", "--netmask", "255.255.255.0"]
Stderr: VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个像这样的Razor助手:
@helper Render(IEnumerable<MyItem> items) {
<ul>
@foreach (var item in items) {
<li><a href="@Url.Content(item.Url)">Click</a></li>
}
</ul>
}
Run Code Online (Sandbox Code Playgroud)
这里唯一的问题是System.Web.WebPages.HelperPage(Razor助手的基类)没有Url属性(类型为UrlHelper).它有Html(类型为HtmlHelper)但没有Url.
在帮助者中获取UrlHelper的最简洁方法是什么?我应该新推出内联吗?
我已经google了很多,但根据我的查询我找不到任何有用的功能.
我想要的是:
100 -> 100
1000 -> 1,000
142840 -> 142,840
Run Code Online (Sandbox Code Playgroud)
但
2023150 -> 2.023M ( i still want 3 additional numbers for more accuracy )
5430120215 -> 5.430B
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我会非常感谢任何自定义函数来动态选择限制.
谢谢!
标题中说明的问题很简单:有没有办法在'App_Code'之外使用剃刀助手?
示例(HtmlEx.cshtml文件):
@helper Script(string fileName, UrlHelper url)
{
<script src="@url.Content("~/Scripts/" + fileName)" type="text/javascript"></script>
}
Run Code Online (Sandbox Code Playgroud)
我问这个是因为我在App_Code中没有任何其他内容; 我想构建我的项目有点不同.
谢谢.
更新:我不想要任何其他类型的扩展.斯科特在这里谈到的只是纯粹的剃刀助手:http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax -within-razor.aspx
很抱歉,如果这是一个新手问题,但我找不到答案.这样做更好:
int result = number/number2;
return result;
Run Code Online (Sandbox Code Playgroud)
要么:
return number/number2;
Run Code Online (Sandbox Code Playgroud)
我知道整数使用内存所以我猜它会略微降低性能?但另一方面它使事情变得更清楚,特别是当int/string是一个很长的计算时.
我想将请求从HTTP重定向到HTTPS.我正在使用wildfly 9.谷歌搜索后我找到了以下内容,但它无法正常工作.我希望有人
<subsystem xmlns="urn:jboss:domain:undertow:2.0">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https"/>
<https-listener name="https" socket-binding="https" security-realm="SSLRealm"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
Run Code Online (Sandbox Code Playgroud) 我有一个辅助类,它传递一个值数组,然后从我的模型传递给一个新类.如何验证给予此类的所有值是否有效?换句话说,如何在非控制器类中使用ModelState的功能.
从控制器:
public ActionResult PassData()
{
Customer customer = new Customer();
string[] data = Monkey.RetrieveData();
bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}
Run Code Online (Sandbox Code Playgroud)
来自帮手:
public bool CreateCustomer(string[] data)
{
Customter outCustomer = new Customer();
//put the data in the outCustomer var
//??? Check that it's valid
}
Run Code Online (Sandbox Code Playgroud) 它们似乎无法从ActionView :: TestCase访问