小编Pet*_*ron的帖子

从Controller内部使用Html.ActionLink和Url.Action(...)

我想编写一个HtmlHelper来渲染具有预设值的ActionLink,例如.

<%=Html.PageLink("Page 1", "page-slug");%>
Run Code Online (Sandbox Code Playgroud)

where PageLink是一个ActionLink使用已知Action和Controller 调用的函数,例如."索引"和"页面".

由于HtmlHelper并且UrlHelper不存在于Controller类或类中,如何从类中获取动作的相对URL?

更新:鉴于我现在有额外三年积累的经验,这是我的建议:只是使用Html.ActionLink("My Link", new { controller = "Page", slug = "page-slug" })或更好,

<a href="@Url.Action("ViewPage",
                     new {
                           controller = "Page",
                           slug = "my-page-slug" })">My Link</a>
Run Code Online (Sandbox Code Playgroud)

您的扩展方法可能很简单,但它会为招聘添加另一个未经测试的失败点和新的学习要求,而不会增加任何实际价值.将其视为设计复杂系统.为什么要添加另一个移动部件,除非它增加可靠性(否),可读性(很少,一旦你阅读更多文档),速度(无)或并发(无).

asp.net-mvc html-helper actionlink urlhelper html.actionlink

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

使用StructureMap(完全信任)的NLog GetCurrentClassLogger()NullReferenceException

看起来NLog不能使用反射GetCurrentClassLogger(),即使我的MVC 3应用程序部署在IIS7上的完全信任环境中.我正在使用StructureMap 2.6.1,并且问题似乎在部署之间偶尔出现.我无法弄清楚为什么,虽然我认为StructureMap没有引起它.

Bootstrapper 类:

public static class Bootstrapper
{
    public static void ConfigureStructureMap()
    {
        ObjectFactory.Initialize(Init);
    }

    private static void Init(IInitializationExpression x)
    {
        x.AddRegistry(new DBServiceRegistry());
        x.AddRegistry(new MyRegistry());
    }
}
Run Code Online (Sandbox Code Playgroud)

Registry 类:

public class MyRegistry : Registry
{
    public MyRegistry()//HttpContext context)
    {
        For<ILogger>().Use<NLogLogger>();
        For<IUserRepository>().Use<SqlUserRepository>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的机器上的一切都很棒.System.NullReferenceException: Object reference not set to an instance of an object部署时为什么会出现错误?

[NullReferenceException: Object reference not set to an instance of an object.]
   NLog.LogManager.GetCurrentClassLogger() +84
   lambda_method(Closure , IArguments ) …
Run Code Online (Sandbox Code Playgroud)

structuremap nlog full-trust nullreferenceexception asp.net-mvc-3

12
推荐指数
1
解决办法
6271
查看次数

适用于笔记本电脑的Accelerometer API

大多数IBM(和一些戴尔)笔记本电脑都有内置的加速度计,可以在突然跌落时停止任何移动部件,但我无法找到标准化的Windows API来访问这些数据.我假设每个制造商都会提供一个与传感器接口的驱动程序.

  1. 哪些流行的笔记本电脑品牌标配有可从API访问的加速度计,我应该使用哪些库来访问数据?
  2. 是否存在API*以消除不同制造商之间的差异?我知道Windows 7传感器API,但我想支持XP及更早版本.

windows accelerometer

11
推荐指数
1
解决办法
8349
查看次数

从另一个容器连接到Docker容器中运行的无头nREPL

我正在尝试从端口7888上运行另一个链接的Docker容器的Docker容器连接到nREPL.尽管暴露了端口-p 7888,将容器链接到-link <first_container_name>:repl并使用Docker注入的环境主机和端口变量,我得到了一个"拒绝连接".错误.

以下是我运行第一个容器的方法:

docker run -i -t -p 7888 clojure-image lein repl :headless :port 7888
~$ nREPL server started on port 55555 on host 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

第二个容器:

docker run -i -t -link <first_container_name>:repl clojure-image /bin/bash
username@hostname~$ lein repl :connect 172.0.2.1:7888
Run Code Online (Sandbox Code Playgroud)

为什么我的连接被拒绝了?我能够在Docker容器之间连接其他服务,如AMQP.

clojure nrepl docker

11
推荐指数
1
解决办法
5236
查看次数

使用DNS记录检查域名可用性

通过检查NSSOA(授权开始)记录的存在来确定域名的可用性有多准确?

如果没有,如何诉诸WHOIS的情况尽可能准确地确定?例如,如果不存在NS记录,是否值得检查MX记录?

我对.co.za域名特别感兴趣,但在.co.za命名空间中检查可用性的唯一官方,万无一失的方法是使用http://co.za/whois.shtml,这限制了连续的检查IP地址.

dns whois nameservers

10
推荐指数
3
解决办法
6580
查看次数

试用版宽限期

我应该如何实现全功能的宽限期或N次使用方案,以最大限度地提高我的小型5美元社交网络Windows应用程序的销售额,同时鼓励持续使用有限版本的用户从未(尚未?)支付费用?

宽限期选项:

  1. 使用限制.使用20次后,将其瘫痪.
  2. 日历日限时.首次使用30天后,软件就会崩溃.
  3. 实际使用天数限时,例如.7天.如果在7 + N天的过程中使用7天,则在第7天后将其瘫痪.
  4. 时间限制.使用或玩耍20小时后,将其瘫痪.
  5. 上述与渐进式跛行和可选的唠叨屏幕相结合.
  6. 纳布屏幕,我反对.

瘫痪的软件并不是所有人都喜欢的(特别是开源阵营),但是我必须根据快乐的用户和谋生来做出决定,所以我已经在下面的限制软件中汇总了我的观点.

我到目前为止的试用软件结论:

  • 专注于使您的软件变得更好,而不是花时间挫败破解者.如果它足够流行,它最终将被逆向工程.
  • 让客户享受您的软件的全部功能 ......一段时间.依赖用户更有可能购买.
  • 假设它有任何好处,残缺的软件可以比捐赠唠叨屏幕的软件5倍.
  • 尽可能简单地付钱.
  • 感知价值很重要,但保持低价可能会导致冲动购买.
  • 定价真的很难.
  • 提供100%无问题退款保证将带来更多销售.

我打算削弱我的演示版本,但我确实希望试用用户体验所有功能.这是一个小型的消费者应用程序,具有潜在的庞大用户群,所以我看它定价约5美元,但我不知道.某些用户或1美元可能值50美元.我稍后会留下价格.这是关于软件的瘫痪.

软件类型分组的真实数据支持的答案会更有帮助,但是对此的任何想法都是值得赞赏的.

trialware shareware trial

10
推荐指数
2
解决办法
1075
查看次数

在SQL中检索插入的行ID

如何在SQL中检索插入行的ID?

用户表:

Column  | Type
--------|--------------------------------
ID      | * Auto-incrementing primary key
Name    | 
Age     | 
Run Code Online (Sandbox Code Playgroud)

查询示例:

insert into users (Name, Age) values ('charuka',12)
Run Code Online (Sandbox Code Playgroud)

sql

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

嵌套的@ Html.DisplayFor(model => baseClass,"BaseClass"),用于不渲染基类模板

几个子类(例如,Cheese)共享从基类(Product)派生的公共属性,其属性如SKU,NameDescription.

为了避免在渲染显示/编辑器模板时出现重复,我希望每个子类模板(Cheese.cshtml)在其共享公共基类模板(Product.cshtml)下面呈现其唯一字段.

但是,从派生类转换到基类(Product)cheese并尝试在子类模板中显示其模板无效.

DisplayTemplate文件结构:

.\Views\Shared\DisplayTemplates
    .\Product.cshtml -- renders common base class fields
    .\Cheese.cshtml -- renders unique class fields and calls Product.cshtml
Run Code Online (Sandbox Code Playgroud)

Cheese.chtml:

@model Application.Data.Models.Cheese

@{
    var product = (Application.Data.Models.Part)Model;
}

Base Product Fields:
@Html.DisplayFor(x => products, "Product") @* no effect! *@

<div class="field">
    <div class="display-label">@Html.LabelFor(m => Model.UniqueProperty)</div>
    <div class="display-field">@Html.DisplayFor(m => Model.UniqueProperty)</div>
</div>
Run Code Online (Sandbox Code Playgroud)

转换为基类并呈现Product.cshtml模板可以从View中正常工作,但不能在子类模板中工作.

如何从子类模板中为我的基类渲染公共模板?

templates nested razor asp.net-mvc-3

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

MongoDb C#GeoNear查询构建

如何使用C#驱动程序和GeoNear方法查询MongoDB附近的地理点?

以下返回具有错误距离值的点:

var results = myCollection.GeoNear(
    Query.GT("ExpiresOn", now), // only recent values
    latitude,
    longitude,
    20
);
Run Code Online (Sandbox Code Playgroud)

我怀疑我应该告诉Mongo查询double [] Location字段,但我不知道查询语法.

c# syntax geospatial mongodb

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

Google AppEngine WebApp2上的PATCH方法处理程序

我尝试def patch():在我的方法中使用一种方法webapp2.RequestHandler来支持部分资源更新,但后来发现在webapp2.py中冻结了允许的方法:

allowed_methods = frozenset(('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT',
                             'DELETE', 'TRACE'))
Run Code Online (Sandbox Code Playgroud)

在Google AppEngine上部署时,如何扩展webapp2.RequestHandler或修改WSGIApplication类以允许PATCH HTTP方法?

google-app-engine webapp2 http-patch

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