我是MVC .NET的新手(我之前曾在Ruby On Rails上工作).
我想知道如何编写单元测试来检查正确的参数是否传递到视图中.
public ActionResult Users()
{
var users = userManager.GetUsers();
return View(users);
}
Run Code Online (Sandbox Code Playgroud)
如何测试View已与用户列表一起传递?我只是模拟View静态方法还是有更好的方法?
谢谢!
我想在Yii控制器中为索引操作发送一个sql字符串?例如:
index.php?r=staff/index&id=1
Run Code Online (Sandbox Code Playgroud)
我尝试了它并将actionIndex()更改为actionIndex($ id),但是Yii给了我
error 400 : Your request is invalid.
Run Code Online (Sandbox Code Playgroud)
是否有可能或我必须定义另一个动作?
我正在尝试调用/auth/logouturl在删除会话后重定向:
app.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/auth/logout',{
controller:'AuthLogout'
//templateUrl: not needed
})
})
.controller('AuthLogout', ['$window','$location', function ($window,$location) {
$window.localStorage.removeItem('user_username');
$window.localStorage.removeItem('user_id');
$window.localStorage.removeItem('user_session_token');
$location.path('/');
}]);
Run Code Online (Sandbox Code Playgroud)
我实际上不需要AuthLogout控制器的视图但是如果我没有templateUrl在routeProvider中指定我不能使它工作,而如果我指定templateUrl它工作.
如何在不加载视图的情况下调用url/controller?
可以将两个FXML(JavaFX)文件连接到一个控制器吗?我不能通过在每个FXML文件中更改"fx:controller"来做到这一点......
有任何想法吗?
为什么我找不到 Visual Studio 2017 for Mac 的控制器文件夹?我正在尝试遵循本教程:https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app-mac/start-mvc ?view=aspnetcore-2.1 部分的控制器文件夹,我的解决方案资源管理器中没有它。我看到过一篇与此类似的帖子,内容是关于找不到控制器文件夹,但该解决方案对我不起作用。我不确定是否可以使控制器文件夹显示出来。这是我的解决方案资源管理器的样子。我的解决方案资源管理器我需要找到控制器文件夹来显示如下:带有控制器文件夹的屏幕截图。先感谢您。
你好开发人员和编码人员,
我的问题是如何定义一个全局变量,可以在 Laravel 的所有控制器中使用?
我$company在AppServiceProviders 的启动方法中定义了一个变量- 我在所有刀片视图中使用它,但我不能在控制器文件中使用它,它给出错误,undefined variable $company
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
View::share('key', 'value');
Schema::defaultStringLength(191);
$company=DB::table('company')->where('id',1)->first();
View::share('company',$company);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
请指导我,感谢您的努力和时间:)
使用时
$route['(:any)'] = 'pages/view/$1';
我想在我的路由中使用其他控制器,例如:
$route['del/(:any)'] = 'crud/del';
Run Code Online (Sandbox Code Playgroud)
它不会起作用.我猜它会用
pages/view/del/$1
删除项目时不是我的crud-controller.我怎么解决这个问题?
我是CodeIgniter的新手(使用PHP).所以现在我的网页上有一个文本框,要求访问者输入他们的名字.我接受一个名字(我将使用变量$ username),我想将它保存在我拥有的数据库中.我想知道我该怎么做.我是否以某种方式将$ username传递给Controller中的函数,然后将该值传递给我的模型?非常感谢,一个简单的例子将非常感谢!!
我正在通过删除show动作来简化资源,因为它不需要.只需要列出,创建和编辑.我仍然SHOW在我的rspecs中测试它现在失败了(显然因为我已经添加了一个:except => [:show]到我的路由文件.
这就是我失败的原因:
1) CampaignsController GET show assigns the requested campaign as @campaign
Failure/Error: get :show, {:id => campaign.to_param}, valid_session
ActionController::RoutingError:
No route matches {:id=>"458", :controller=>"campaigns", :action=>"show"}
# ./spec/controllers/campaigns_controller_spec.rb:49:in `block (3 levels) in <top (required)>'
2) CampaignsController routing routes to #show
Failure/Error: expect(:get => "/campaigns/1").to route_to("campaigns#show", :id => "1")
No route matches "/campaigns/1"
# ./spec/routing/campaigns_routing_spec.rb:15:in `block (3 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
如何让这些测试通过,以便我预计会出现路由错误?
我试图加载一个基于stateparam的控制器,使其可重用
.state("dashboard.item.detail", {
url: "/detailId/:detailId/detailName/:detailName",
views: {
'main@': {
templateUrl: function ($stateParams){
//move this to a util function later
var tempName = unescape($stateParams.detailName);
tempName = tempName.replace(/\s/g, "-");
return '../partials/slides/' + tempName + '.html';
},
resolve: {
DetailData: ['DetailService', function(DetailService){
return DetailService.getDetails();
}]
},
controller: function ($stateParams) {
console.log( $stateParams.detailName + 'Ctrl');
return $stateParams.detailName + 'Ctrl';
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
调节器
.controller('NemtCtrl', ['$scope', '$rootScope', 'DetailData', function ($scope, $rootScope, detailData) {
console.log(detailData);
}]);
Run Code Online (Sandbox Code Playgroud)
如果我删除该功能并且只是使用(控制台将记录detailData),控制器将工作
controller: 'NemtCtrl'
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,将不起作用:
controller: function ($stateParams) {
return …Run Code Online (Sandbox Code Playgroud) controllers ×10
angularjs ×2
codeigniter ×2
javascript ×2
php ×2
action ×1
asp.net-mvc ×1
fxml ×1
javafx ×1
laravel ×1
laravel-5.5 ×1
model ×1
mstest ×1
routing ×1
rspec ×1
ruby ×1
unit-testing ×1
views ×1
yii ×1