Salesforce VisualForce:作为null传递给控制器的参数

Salesforce VisualForce:作为null传递给控制器的参数,salesforce,visualforce,apex,Salesforce,Visualforce,Apex,由于某些原因,在尝试删除行时,SelectedRow Id始终显示为空,无法找出原因。我的页面中内置了一个表,我想添加一个commandlink来删除特定的行。当试图删除它时,它总是显示为null 我的页面: <apex:outputPanel id="main"> <table> <tr> <apex:repeat value="{!headers}" var="h"> <td class="hdr">{!h}</td&g

由于某些原因,在尝试删除行时,SelectedRow Id始终显示为空,无法找出原因。我的页面中内置了一个表,我想添加一个commandlink来删除特定的行。当试图删除它时,它总是显示为null

我的页面:

<apex:outputPanel id="main">
<table>
<tr>
 <apex:repeat value="{!headers}" var="h">
  <td class="hdr">{!h}</td>
 </apex:repeat>
</tr>
<apex:repeat value="{!hours}" var="a">
 <tr>

 <td><apex:commandLink action="{!RowDelete}" value="delete" id="deleterow"/> 
 <apex:param assignto="{!SelectedRow}" value="{!a.id}" name="{!a.id}" />
 </td>


  <td ><apex:inputField value="{!a.Project__c}" /></td>
  <td><apex:inputField value="{!a.Date__c}" /></td>
  <td><apex:inputField value="{!a.StartTime__c}" /></td>
  <td><apex:inputField value="{!a.EndTime__c}" /></td>
  <td><apex:inputField value="{!a.Comments__c}" style="width:300px"/></td>

 </tr>
</apex:repeat>
</table>
// class variables

id  MonthlyReport;
public string SelectedRow {get;set{SelectedRow=value;system.debug('TESTING SelectedRow   Value is '+SelectedRow );}}
Reported_Hour__c[] hoursl; 


// To Delete Row
public pagereference RowDelete() {

 system.debug('TESTING: SelectedRow value is '+SelectedRow);
 Reported_Hour__c rh = [select id from Reported_Hour__c where id =: this.SelectedRow];
 delete rh;
 return null;

}

我想您可以从中转储
名称

<apex:param assignto="{!SelectedRow}" value="{!a.id}" name="{!a.id}" />

需要一些灵感吗?

谢谢。我尝试了所有这些选项,也按照链接所说的做了,但仍然无法解决这个问题。单击链接时,请使用您喜爱的浏览器中的JS控制台检查请求参数中的内容。例如,如果它是在URL中传递的-检查参数名称,可能您可以通过
ApexPages.currentPage().getParameters().get('selectedRowparam')攻击它